是否有可能通过通配符添加规则?我认为设置这样的规则是不可能的......
$("#form").validate({
// errorLabelContainer: $("div#error"),
errorElement: "p",
errorClass: "form-error",
rules: {
$("input[name*='x.child']"): {
required: true,
minlength: 5
}
}
});
答案 0 :(得分:7)
使用内置的rules()
方法添加规则。 See documentation.
注意:必须在致电.validate()
之后调用此方法。
$("#form").validate({
errorElement: "p",
errorClass: "form-error"
});
// the following method must come AFTER .validate()
$("input[name*='x.child']").each(function() {
$(this).rules('add', {
required: true,
minlength: 5
});
});
当您向表单动态添加字段时,此方法也非常有用。
以下内容与自定义messages:
结合使用。请注意,格式与在.validate()
...
$("input[name*='x.child']").each(function() {
$(this).rules('add', {
required: true,
minlength: 5,
messages: {
required: "Required input",
minlength: jQuery.format("At least {0} characters are necessary")
}
});
});
如其他地方所述,您也可以创建一个class
并使用这样的...
HTML:
<input type="text" class="myclass" name="whatever" />
jQuery的:
$("#form").validate({
errorElement: "p",
errorClass: "form-error"
});
// the following method must come AFTER .validate()
$('#form').find('.myclass').each(function() {
$(this).rules('add', {
required: true,
minlength: 5,
messages: {
required: "Required input",
minlength: jQuery.format("At least {0} characters are necessary")
}
});
});