jQuery验证器addMethod无法正常工作

时间:2013-01-30 13:58:02

标签: jquery jquery-validate

我正在使用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="">

课程requirednumber工作正常,只是我的integer方法无效。

2 个答案:

答案 0 :(得分:7)

这似乎对我有用:

http://jsfiddle.net/2VJZT/

请显示其余代码。

<强>的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)您的代码(或文件)在之后正确包含jQueryjQuery Validate plugin(按此顺序)。

2)您的代码全部包含在document.ready函数中。

注意:.validator.addMethod.validate()的排序对彼此无关紧要,只要您遵循1&amp; 2. http://jsfiddle.net/jp93D/

答案 1 :(得分:1)

我曾经遇到过这个问题,因为我使用的是html id,而不是规则中的名称。

可以帮助别人。