DataAnnotation 范围验证器未返回指定的错误消息
DataAnnotation Range validator not returning specified error message
我的 Age 字段的元数据 class 中有以下代码,类型为 int。
[Display(Name = "Age", Prompt = "Age")]
[Required(AllowEmptyStrings = false, ErrorMessage = "Age is required")]
[Range(16, 99, ErrorMessage = "Please specify an Age between 16 and 99")]
public int Age { get; set; }
在我看来,我将字段定义为:
@Html.TextBoxFor(m => m.Age, new { @class = "form-control numeric", @placeholder = Html.DisplayNameFor(m => m.Age), @type = "number", @min = "16", @max = "99", @maxlength = "2" })
在表单中,HTML 呈现如下:
<input name="Age" class="form-control numeric" id="Age" type="number" maxlength="2" min="16" max="99" placeholder="Age" value="" data-val-required="Age is required" data-val-number="The field Age must be a number." data-val="true" data-val-range-min="16" data-val-range-max="99" data-val-range="Please specify an Age between 16 and 99">
然而返回的错误信息是:
Please enter a value greater than or equal to 16.
有没有其他人遇到过这个错误?
如有任何帮助,我们将不胜感激。谢谢
已解决。显然,当字段定义为数字而不是文本字段时会发生这种情况。
我改变了:
@Html.TextBoxFor(m => m.Age, new { @class = "form-control numeric", @placeholder = Html.DisplayNameFor(m => m.Age), @type = "number", @min = "16", @max = "99", @maxlength = "2" })
至:
@Html.TextBoxFor(m => m.Age, new { @class = "form-control numeric", @placeholder = Html.DisplayNameFor(m => m.Age), @maxlength = "2" })
现在它像冠军一样工作。
我的 Age 字段的元数据 class 中有以下代码,类型为 int。
[Display(Name = "Age", Prompt = "Age")]
[Required(AllowEmptyStrings = false, ErrorMessage = "Age is required")]
[Range(16, 99, ErrorMessage = "Please specify an Age between 16 and 99")]
public int Age { get; set; }
在我看来,我将字段定义为:
@Html.TextBoxFor(m => m.Age, new { @class = "form-control numeric", @placeholder = Html.DisplayNameFor(m => m.Age), @type = "number", @min = "16", @max = "99", @maxlength = "2" })
在表单中,HTML 呈现如下:
<input name="Age" class="form-control numeric" id="Age" type="number" maxlength="2" min="16" max="99" placeholder="Age" value="" data-val-required="Age is required" data-val-number="The field Age must be a number." data-val="true" data-val-range-min="16" data-val-range-max="99" data-val-range="Please specify an Age between 16 and 99">
然而返回的错误信息是:
Please enter a value greater than or equal to 16.
有没有其他人遇到过这个错误?
如有任何帮助,我们将不胜感激。谢谢
已解决。显然,当字段定义为数字而不是文本字段时会发生这种情况。
我改变了:
@Html.TextBoxFor(m => m.Age, new { @class = "form-control numeric", @placeholder = Html.DisplayNameFor(m => m.Age), @type = "number", @min = "16", @max = "99", @maxlength = "2" })
至:
@Html.TextBoxFor(m => m.Age, new { @class = "form-control numeric", @placeholder = Html.DisplayNameFor(m => m.Age), @maxlength = "2" })
现在它像冠军一样工作。