jQuery验证,附加一个加法字段以验证div点击

时间:2014-10-29 01:06:21

标签: jquery jquery-validate

我想添加一个额外的字段来验证用户点击特定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
        }

      });
});

1 个答案:

答案 0 :(得分:1)

jQuery验证具有ignore属性,该属性从验证过程中排除指定的元素。默认情况下,它的值设置为:hidden,它完全符合您的要求,即它排除了隐藏的元素。只需在第一个validate调用中定义规则,然后删除第二个validate函数。