MVC注释[范围(m,n)]不会阻止输入文本

时间:2014-04-10 12:20:08

标签: c# annotations asp.net-mvc-5

我有一个包含以下字段的模型:

[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。对我来说,这是一个非常意外的行为。

如何将输入限制在范围内的空整数或有效整数?

0 个答案:

没有答案