jQuery验证器addMethod无法正常工作

Chr*_*ris 2 jquery jquery-validate

我正在使用jQuery验证的新验证规则.它不知何故不适用?它包含在之后包含的javascript文件中jquery.validate.js.我什么时候应该包含包含我的自定义规则的js文件?

当我输入0.1一个应该验证的输入时,没有任何事情发生,console.logisnt hit也不是警报.

$(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!');
});
Run Code Online (Sandbox Code Playgroud)

HTML

<input class="required number integer valid" type="text" data-type="int" value="1" name="Default.MinArrivals" title="">
Run Code Online (Sandbox Code Playgroud)

这些类requirednumber工作完美,它只是我的integer方法无法正常工作.

Spa*_*rky 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
            }
        }
    });

});
Run Code Online (Sandbox Code Playgroud)

HTML:

<form id="myform">
    <input type="text" name="field1" />
    <input type="submit" />
</form>
Run Code Online (Sandbox Code Playgroud)

Quote:我什么时候应该包含包含我的自定义规则的js文件才能应用它们?

只要:

1)你的代码(或文件)来后,你已经适当地包括jQueryjQuery Validate plugin(按顺序).

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

注意:只要你按照1和2的说法,对彼此的排序.validator.addMethod.validate()关系并不重要 .http://jsfiddle.net/jp93D/


stu*_*net 5

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

可能会帮助某人。