jQuery验证不适用于整数

时间:2015-03-04 09:01:31

标签: jquery jquery-validate

以下代码无效。我可以知道我的问题是什么。提前谢谢。

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.1/jquery.js"></script>
<script src="http://cdn.jsdelivr.net/jquery.validation/1.13.1/jquery.validate.min.js"></script>
<script src="http://cdn.jsdelivr.net/jquery.validation/1.13.1/additional-methods.min.js"></script>
        <script>
$(document).ready(function(){    
   $('#part1').validate({
        rules: {
                family_income: {required: true,min: 0}
        },
        submitHandler: function(form){
                form.submit();
        }
   });

});  
</script>

1 个答案:

答案 0 :(得分:1)

使用digits进行数字验证并使用此代码更新代码。您可以根据需要添加更多验证。

$(function(){        
    $('#part1').validate({
       rules: {
           family_income: {
              required: true,
              digits: true
           }
       },
       submitHandler: function(form){
         form.submit();
       }
    });    
}); 

在这种情况下,请确保您的元素ID为family_income

更新:如果您使用data annotations来验证您的属性,那么我建议您坚持使用这些并且不要混用这两种方法。但是,MVC客户端验证功能是基于jQuery Validation库构建的,如果您愿意,可以直接使用Validation库,就像您在示例中使用的那样,忽略MVC功能。

因此,使用data annotations,您可以非常轻松地执行此类操作,并且可以摆脱问题中定义的自定义验证程序规则。

[RegularExpression("[0-9]*")]
[StringLength(50, MinimumLength = 0)] // this will hanle your min length.
// 50 is max limit, you can give as much as you like.
public datatype PropertyName { get; set; }

注意:如果您的类型为int,那么您不必添加数字验证,因为验证器会智能地处理此问题,但如果您的类型是其他类似的内容,则会出现在您的案例中那么值得把注释放在这里。

备选方案:您也可以将文本框设置为仅允许数字输入。见this link