整数验证与Data Annotation无法正常工作

时间:2014-04-16 11:55:00

标签: c# jquery asp.net asp.net-mvc validation

我现在已经遇到过这个问题几次,而且我似乎无法得到关于它为什么会发生的确切答案。

我有一个字段需要验证输入只接受整数。

我有数据模型属性如下:

[Display(Name = "Customer ID")]
[Required]
[Range(0, int.MaxValue, ErrorMessage="Must be integer")]
public int CustId { get; set; }

我有以下HTML。它是由MVC Scaffolding生成的

@using (Html.BeginForm()) 
{
 @Html.ValidationSummary(true)

 <div class="form-group">
    @Html.LabelFor(model => model.CustId, new { @class = "control-label col-md-2" })
    <div class="col-md-10">
        @Html.EditorFor(model => model.CustId, new { htmlAttributes = new { @class = "form-control" }, })
        @Html.ValidationMessageFor(model => model.CustId)
    </div>
 </div>

...

文本框接受没有错误消息的整数。当我输入字母/字母时,文本框将只清除其字段并显示没有错误消息。但是,如果我输入数字后跟字母,例如。 1234abcd文本框将被正确验证,甚至显示正确的错误消息。

我使用的是ASP.NET MVC 5,我启用了JQuery Validation和Unobstructive。

我尝试使用DataAnnotationExtension添加Integer属性,但我仍遇到同样的问题。

有人指出,它可能是由JQuery Validation中的错误引起的。究竟是什么错误/问题?

0 个答案:

没有答案