以下代码无效。我可以知道我的问题是什么。提前谢谢。
<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>
答案 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。