jquery验证自定义方法不起作用

时间:2013-09-16 11:02:14

标签: jquery jquery-validate

我正在尝试创建自己的自定义方法,但不确定为什么它不起作用,这里是html代码

<form id="testForm">
    <input type="text" required requnique value="" />
    <input type="button" id="validateIt" value="Run"/>
</form>

js code

$(document).ready(function(){
    $('#testForm').validate();
    $('#validateIt').click(function(){
        if($('#testForm').valid())
            alert('Valid');
        else
            alert('Not Valid');
    });

});
$.validator.addMethod("requnique", function(value, element) {
    console.log('hhh');
    //some customized test
    return false;
}, "Must be unique.");

您可以在http://jsfiddle.net/TrYfA/

查看工作示例

1 个答案:

答案 0 :(得分:0)

您的代码:

<input type="text" required requnique value="" />

requnique不是此插件将使用的已知属性。要内联使用或声明自定义规则/方法,您可以将其放在class属性中,就像这样......

<input type="text" required class="requnique" value="" />

您也可以将class内置于此内...

<input type="text" class="requnique required" value="" />

这不是强制性的。拥有required属性符合HTML5验证,jQuery Validation插件会自动选择该属性以及任何其他HTML5验证属性。

但是,我个人的偏好是在使用HTML5验证属性时使用required="required"HTML validity取决于您的doctype

<input type="text" required="required" class="requnique" value="" />

重要:

要正确使用jQuery Validate插件,必须在每个输入元素上都有唯一的name属性。 (这是此插件在内部跟踪表单输入的方式。)

<input type="text" name="myname" required="required" class="requnique" value="" />

工作演示http://jsfiddle.net/UGLqR/