我有一个 [Range] 注释,如下所示:
[Range(0, 100)]
public int AvailabilityGoal { get; set; }
我的网页是这样的:
<%=Html.TextBoxFor(u => u.Group.AvailabilityGoal)%>
它可以正常工作,我只能输入 0 到 100 之间的值,但我也希望输入框是可选的,如果输入框为空,用户不应收到验证错误。这与范围无关,而是因为类型是整数。如果用户将其留空,它应该使 AvailabilityGoal = 0,但我不想强制用户输入零。
我试过这个,但它(显然)不起作用:
[Range(typeof(int?), null, "100")]
是否可以使用数据注释或其他方式解决这个问题?
提前致谢。
鲍比
最佳答案
您不必更改 [Range] 属性,因为 [Range] 和其他内置 DataAnnotations 验证器在给定空值时无操作。只需将属性本身设为 内部? 而不是 国际 .不可为空的 ValueType 属性(如 int)总是自动需要的。
关于asp.net-mvc - 没有和 100 之间的范围注释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2913281/