jquery验证插件内联自定义规则

时间:2012-05-22 20:53:40

标签: jquery jquery-validate

我创建了一个自定义规则

$(document).ready(function(){
    $("#test-form").validate({
            rules: { 
                test1:{
                    required: true,
                    minlength: 2
                } 
            },
            messages:  {
                test1:{
                    required: "required",
                minlength: "min 2"                      
                }
            }
        });
    // don't really process form
    $("#test-form").submit(function() { return false; });

我有这个HTML代码

<input type="text" class="test1"/>

然而它不起作用

如果我更改为预定义规则,则可以使用

<input type="text" class="number"/>

2 个答案:

答案 0 :(得分:1)

rules中的键应与字段的name参数匹配。试试这个:

<input type="text" name="test1" />

此外,您可以在验证选项中使用debug: true来阻止您在测试时提交表单,而不是从表单提交中返回false。

答案 1 :(得分:1)

Rory是正确的,规则和消息键应该与'name'属性相匹配,但它看起来虽然你试图创建一个自定义规则,可以通过类名声明地添加?

我认为您正在寻找可以像这样使用的.addMethod()函数:

jQuery.validator.addMethod("alphanumeric", function(value, element) {
    return this.optional(element) || /^\w+$/i.test(value);
}, "Letters, numbers, and underscores only please");

将通过类名自动获取:

<input type="text" class="alphanumeric" />