asp.net-mvc - 没有和 100 之间的范围注释?

标签 asp.net-mvc data-annotations

我有一个 [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/

相关文章:

c# - Visual Studio 2017在调试时尝试使用IP连接到本地Mysql

asp.net-mvc - MVC 6 VNext如何设置HtmlFieldPrefix?

asp.net-mvc - 如何仅在选择一个单选按钮时应用必填字段验证

data-annotations - 从 TableAttribute Dapper.Contrib 获取表名

visual-studio-2013 - 在 VS2013 T4 脚手架模板中获取自定义属性

asp.net-mvc - MVC : Redirecting to login screen

asp.net-mvc - 如何构建、分区和构建大型 MVC 应用程序以进行小增量部署?

jquery - 可以使用 Facebook AppID 获取 Facebook 分享计数

c# - 当我尝试将 Metadatatype 与 View 模型一起使用时,出现 InvalidOperationException

c# - 未发布数据时页面加载时显示 MVC Razor 验证错误