费用必须是 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>
我正在使用基本 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>