我有一个用 C#、MVC4 EF(数据优先)制作的项目。
在我的创建视图中,我有许多数字字段,我想使用 Range 为其指定允许的值。出于某种奇怪的原因,我的数字被视为字符串,这会破坏验证。
让我们以字段“LengthInch”为例:在数据库中它是一个 int。
在我看来,我有代码:
@Html.EditorFor(model => model.LengthInch)
@Html.ValidationMessageFor(model => model.LengthInch)
最后在我的元数据文件(用于模型)中,我有代码:
[Range(0, 11, ErrorMessage = "Value for {0} must be between {1} and {2}.")]
public Nullable<int> LengthInch { get; set; }
如果我在字段中输入 0、1、10 或 11,一切都很好,但如果我输入 2,我会收到一个验证错误,提示“LengthInch 的值必须介于 0 和 11 之间”。3 到 9 也是如此。因此,出于某种原因,这些数字似乎被视为字符串。任何人有任何想法?