如何通过DataAnnotation验证文本框类型=数字

时间:2015-03-24 15:46:22

标签: jquery asp.net-mvc html5

我有表格

<input type="number" id="txtnumber"/>
<input type="submit" value ="submit" id="btnsubmit"/>

我想验证数字大于10的文本框号码中的增加按钮,按钮提交将被禁用。如何使用dataanotation或jquery。

2 个答案:

答案 0 :(得分:2)

您可以使用范围属性

  public class YourClass
  {

     [Range(2,5)]
     public int MyNumber { get; set; }
  }
在您看来

        @Html.EditorFor(model => model.MyNumber)
        @Html.ValidationMessageFor(model => model.MyNumber)

添加验证脚本:

     bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
                 "~/Scripts/jquery.unobtrusive*",
                 "~/Scripts/jquery.validate*"));

它不会禁用增加按钮,如果要禁用提交按钮,则应使用jquery,但如果执行此操作,则jquery validate将不允许用户提交,直到表单无效

答案 1 :(得分:0)

这是你想要的吗?

对于HTML,您需要添加max属性:

<input type="number" id="txtnumber" max="10"/>
<input type="submit" value ="submit" id="btnsubmit"/>

<强> JS

$(document).on('keyup','#txtnumber', function(){
   var no = parseInt($(this).val());
   if(no > 10)
   {    
       $('#btnsubmit').prop('disabled', true);
   }
   else
   {

     $('#btnsubmit').prop('disabled', false);
   }
});