我有一个表单,我用jQuery验证插件验证。
这是我用于验证的jQuery代码:
$('#authForm').validate({
rules: {
Email: {
required: true,
email: true
},
Password: {
required: true
},
PasswordAgain: {
equalTo: "#Password"
},
Name: {
required: true
}
},
errorClass: "invalid",
errorPlacement: function(error, element) { }
});
我添加了一个我需要附加到父div而不是输入字段的errorClass:
其中一个字段的HTML结构如下:
<div class="form-group form-group-custom ">
<label>Email Address</label>
<input name="Email" type="text" class="form-control invalid" value="test@test.com" aria-required="true" aria-describedby="Email-error" aria-invalid="true">
</div>
如果您注意到&#34; invalid
&#34; class已被附加到实际上正确的input元素,但是我需要将它附加到我的<div class="form-group form-group-custom">
并在验证完成时删除它。
有任何线索吗?
答案 0 :(得分:0)
当事情有效/无效时,highlight
和unhighlight
函数总是用于应用/删除任何类。只需编写target your parent div
的自定义jQuery DOM遍历函数。
$('#authForm').validate({
rules: {
....
},
....
highlight: function(element, errorClass, validClass) {
$(element).parent('div').addClass(errorClass).removeClass(validClass);
},
unhighlight: function(element, errorClass, validClass) {
$(element).parent('div').addClass(validClass).removeClass(errorClass);
},
....
如果类需要与插件自动应用的类完全分开,那么不要使用代表预设类的关键字,而是使用根据需要重命名的不同类。
highlight: function(element, errorClass, validClass) {
$(element).parent('div').addClass('myerrorclass').removeClass('myvalidclass');
},
unhighlight: function(element, errorClass, validClass) {
$(element).parent('div').addClass('myvalidclass').removeClass('myerrorclass');
},