我有一个包含以下字段的模型:
[Range(0, 100)]
public int? Points { get; set; }
我使用自动生成的代码显示字段:
<div class="form-group">
@Html.LabelFor(model => model.Points, new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.Points)
@Html.ValidationMessageFor(model => model.Points)
</div>
</div>
如果用户输入的数字超出范围,他会收到相应的消息。此外,如果用户将该字段留空,我会得到预期的行为:该字段设置为null
。
但是如果用户输入一些不解析为有效整数的字符串,则输入会愉快地接受,并将null
分配给属性Points
。对我来说,这是一个非常意外的行为。
如何将输入限制在范围内的空整数或有效整数?