【发布时间】:2017-08-11 23:18:57
【问题描述】:
在一个 MVC 5 项目中,我有一个可以为空的 int 模型。由于可能无法解释的原因,它必须是可为空的 int 且不能是字符串。
// Value can be null or an integer from 0 to 145
[Range(0,145)]
public int? Criterion { get; set; }
预期的注释是在表单中输入值时提供用户反馈。
Criterion: @Html.TextBoxFor(m => m.Criterion)
<span class="text-danger">@Html.ValidationMessageFor(m => m.Criterion)</span>
虽然用户在输入非整数值时会收到反馈,但 Range 属性似乎不起作用。
为了强制执行一个可为空的整数范围,我需要使用正则表达式,还是有更简单的方法来强制执行规则?
【问题讨论】:
-
[Range(typeof(int), "0", "145", ErrorMessage = "必须是整数值 0-145。")]
-
我认为添加正则表达式允许数字和空格是一个相当简单的解决方案。
-
@Nathan_Sav -- 我试过没有发生验证。
标签: c#