【发布时间】:2022-02-10 07:44:27
【问题描述】:
我正在使用基本的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。 .. ETC。
有什么我可以强迫用户这样定价的吗?
我尝试使用[DataAnnotation] 和Range,但我认为这行不通。
【问题讨论】:
-
IMO 你不应该改变请求,你应该验证它是正确的,如果没有抛出 400。UI(或任何调用你的 API)应该进行舍入。跨度>
-
您可以设置验证以允许以 0 或 5 结尾的数字作为 5 的倍数以 0 或 5 结尾。stackoverflow.com/questions/16557754/…
-
您可能需要一个自定义验证属性类,在
IsValid()方法中测试cost % 5 == 0。阅读 C# 中的模运算符。
标签: c# asp.net .net asp.net-core-webapi