您有两种形式具有完全相同的验证规则,但我想将其组合成一个函数的不同ID。我怎么能这样做?
var validator = $("#ValidateForm1").validate({
errorPlacement: function(error, element) {
if ( element.is(":radio") )
error.appendTo( element.parent().next().next() );
else if ( element.is(":checkbox") )
error.appendTo ( element.next() );
else
error.appendTo( element.parent().next() );
}
});
var validator = $("#validateForm2").validate({
errorPlacement: function(error, element) {
if ( element.is(":radio") )
error.appendTo( element.parent().next().next() );
else if ( element.is(":checkbox") )
error.appendTo ( element.next() );
else
error.appendTo( element.parent().next() );
}
});
答案 0 :(得分:3)
如果你不需要验证器变量(你重新定义它,所以看起来你没有),只需使用一个多选择器:
$("#validateForm1, #validateForm2").validate({
errorPlacement: function(error, element) {
if ( element.is(":radio") )
error.appendTo( element.parent().next().next() );
else if ( element.is(":checkbox") )
error.appendTo ( element.next() );
else
error.appendTo( element.parent().next() );
}
});
或者,如果您有很多这样的表单,只需给它们一个类,就像这样:
<form id="validateForm1" class="myFormClass"></form>
<form id="validateForm2" class="myFormClass"></form>
....
<form id="validateFormX" class="myFormClass"></form>
这样的选择器:
$(".myFormClass").validate({
答案 1 :(得分:0)
将formId作为变量
var myFormId = "ValidateForm1"; // e.g. get the form id by using javascript
....
var validator = $("#"+ myFormId).validate({
errorPlacement: function(error, element) {
if ( element.is(":radio") )
error.appendTo( element.parent().next().next() );
else if ( element.is(":checkbox") )
error.appendTo ( element.next() );
else
error.appendTo( element.parent().next() );
}
});