2

我正在使用带有 jQ​​uery 验证的新验证规则。它在某种程度上不适用吗?它包含在一个 javascript 文件中,该文件包含在jquery.validate.js. 我什么时候应该包含包含我的自定义规则的 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方法不能正常工作。

4

2 回答 2

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>

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

只要:

1)您的代码(或文件)您正确包含jQueryjQuery Validate plugin(按该顺序)之后出现。

2)您的代码都包含在一个document.ready函数中。

注意:只要遵循 1 和 2,彼此 的顺序.validator.addMethod和无关紧要。 http://jsfiddle.net/jp93D/.validate()

于 2013-01-30T15:36:18.320 回答
4

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

可能会帮助某人。

于 2014-09-05T01:33:01.747 回答