我正在使用jQuery验证的新验证规则。它不知何故不适用?它包含在jquery.validate.js
之后的javascript文件中。我什么时候应该包含包含我的自定义规则的js文件?
当我将0.1
输入到应该验证的输入中时,没有任何事情发生,console.log
并未点击警报。
$(document).ready(function(){
jQuery.validator.addMethod('integer', function(value, element, param) {
console.log(value); alert("hey");
return (value != 0) && (value == parseInt(value, 10));
}, 'Please enter a non zero integer value!');
});
HTML
<input class="required number integer valid" type="text" data-type="int" value="1" name="Default.MinArrivals" title="">
课程required
和number
工作正常,只是我的integer
方法无效。
答案 0 :(得分:7)
这似乎对我有用:
请显示其余代码。
<强>的jQuery 强>:
$(document).ready(function () {
jQuery.validator.addMethod('integer', function (value, element, param) {
return (value != 0) && (value == parseInt(value, 10));
}, 'Please enter a non zero integer value!');
$('#myform').validate({
rules: {
field1: {
required: true,
integer: true
}
}
});
});
<强> HTML 强>:
<form id="myform">
<input type="text" name="field1" />
<input type="submit" />
</form>
引用:我应该何时加入包含自定义规则的js文件 他们应用?
只要:
1)您的代码(或文件)在之后正确包含jQuery
和jQuery Validate plugin
(按此顺序)。
和
2)您的代码全部包含在document.ready
函数中。
注意:.validator.addMethod
和.validate()
的排序对彼此无关紧要,只要您遵循1&amp; 2. http://jsfiddle.net/jp93D/
答案 1 :(得分:1)
我曾经遇到过这个问题,因为我使用的是html id,而不是规则中的名称。
可以帮助别人。