0

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

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

js代码

$(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/

4

1 回答 1

0

你的代码:

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

requnique不是此插件将使用的已知属性。要使用或声明内联自定义规则/方法,您可以将其放置在class属性内,如下所示...

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

你也可以class像这样在里面放 required...

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

这不是强制性的。拥有一个required属性是根据 HTML5 验证,jQuery 验证插件会自动选择它以及任何其他 HTML5 验证属性。

但是,我个人的偏好是required="required"在使用 HTML5 验证属性时使用。 HTML 有效性将取决于您的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/

于 2013-09-16T15:08:16.617 回答