我创建了一个自定义规则
$(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"/>
答案 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" />