0

我的模型中有一个字段,我希望它只是数字

[Required(ErrorMessage = "Cheque ID is required")]
[RegularExpression("([1-9][0-9])*", ErrorMessage = "Cheque ID must be numbers only.")]
[Range(typeof(Decimal), "1", "9999", ErrorMessage = "Cheque ID must be a number between {1} and {999}.")]

我试过这个:

在我看来,我使用了这个

<div class="editor-field">
    @Html.TextBoxFor(x => x.chequeID, new {placeholder = "Enter The Location", @Value = "" })
    @Html.ValidationMessageFor(model => model.chequeID)
</div>

但我去这个例外

索引(从零开始)必须大于或等于零且小于参数列表的大小。

我究竟做错了什么?

4

1 回答 1

1

你的问题在这里:

[Range(typeof(Decimal), "1", "9999", ErrorMessage = "Cheque ID must be a number between {1} and {999}.")]

该指数{999}超出范围。与 a 一样string.Format,如果您有 3 个参数,则您的字符串应按照指定的顺序将它们包含为{0}, {1}, 。{2}

在您的情况下,替换{999}{2}将显示“9999”作为最大值({0}是属性名称,这就是为什么最小值是{1})。

于 2013-11-08T10:35:41.390 回答