费用必须是 5 的倍数

Cost must be multiple by 5

我正在使用基本 CRUD operation 的小型应用程序,并且我有 Product Model。 在这个模型中,我有类似

public class Product  
    {
        public int Id { get; set; }

        public string Name { get; set; }

        public int amountAvailable { get; set; }
        public double cost { get; set; }

        [ForeignKey(nameof(User))]
        public int UserId { get; set; }
        public User Users { get; set; }
        
    }

现在,我需要一些捷径或一些技巧来计算成本(产品成本),但它应该是 5 的倍数,这意味着价格可以是 5、10、15、20、25, 30...等等 有什么我可以强迫用户定价这样的东西吗? 我尝试使用 [DataAnnotation] 并使用 Range 但我认为这行不通。

您可以将成本变量设为 prop 并由用户四舍五入任何给定值直到它有效。

尝试:

public class MultipleOf5Attribute : ValidationAttribute
{
    public override bool IsValid(object value)
    {
        return ((int)value) % 5 == 0;
    }
}

使用小数代替整数

您可以在视图末尾使用 JS,这可能更好,因为您将进行前端验证,而不是在检查是否错误之前发布表单(抱歉,我正在使用我的 phone键入建议的答案,因此格式可能不正确)但是像这样:

         <script>
                       document.getElementById("Submit_btn_id").addEventListener('click',function ()
                   {

                    //get the value entered in the input field 
                     var userEnterANumber = document.getElementById('input_id').value


                       if (userEnterANumber % 5 == 0)
                      {
                     console.write('This is a multiple of 5')
                         //turn off the required attribute from the input field 
                        document.getElementById("input_id").required = false;
                        }
   
                        else 
                        {
                          console.write('Not a multiple of 5')
                          //set the required attribute on the input field 
                        document.getElementById("input_id").required = true;
                          }
                        });
                </script>