我想添加一个额外的字段来验证用户点击特定div或文本的时间。这是场景,我有一个使用jQuery验证验证的表单,有两个字段我没有包含在验证中,为了我希望在用户点击“更改密码?”时验证这两个字段。文本。如何在运行时添加和添加其他字段以进行验证?
<span class="change-password">Change Password</span>
$(document).ready(function() {
$("#update_user").validate({
rules: {
"admin_account[name]": {
required: true
},
"admin_account[email]": {
required: true
},
"admin_account[gender]":{
required: true
},
"admin_account[nationality]":{
required: true
},
"admin_account[photo]":{
accept: false
},
"admin_account[date_of_birth(1i)]":{
required: true
},
"admin_account[date_of_birth(2i)]":{
required: true
},
"admin_account[date_of_birth(3i)]":{
required: true
}
},
errorPlacement: function(){
return false; // suppresses error message text
}
});
//I want to trigger here an additional validation for the password field
$(".change-password").on("click", function(){
$("#update_user").validate({
rules: {
"admin_account[name]": {
required: true
},
"admin_account[email]": {
required: true
},
"admin_account[password]":{
required: true
},
"admin_account[password_confirmation]":{
required: true,
equalTo:"#edit_registerPassword"
},
"admin_account[gender]":{
required: true
},
"admin_account[nationality]":{
required: true
},
"admin_account[photo]":{
accept: false
},
"admin_account[date_of_birth(1i)]":{
required: true
},
"admin_account[date_of_birth(2i)]":{
required: true
},
"admin_account[date_of_birth(3i)]":{
required: true
}
},
errorPlacement: function(){
return false; // suppresses error message text
}
});
});
答案 0 :(得分:1)
jQuery验证具有ignore
属性,该属性从验证过程中排除指定的元素。默认情况下,它的值设置为:hidden
,它完全符合您的要求,即它排除了隐藏的元素。只需在第一个validate
调用中定义规则,然后删除第二个validate
函数。