Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery验证规则,提交后,选中;重新输入密码";首先(仅当我们在两个字段中键入了不匹配的密码以及其他字段为空时)_Javascript_Jquery_Jquery Validate - Fatal编程技术网

Javascript Jquery验证规则,提交后,选中;重新输入密码";首先(仅当我们在两个字段中键入了不匹配的密码以及其他字段为空时)

Javascript Jquery验证规则,提交后,选中;重新输入密码";首先(仅当我们在两个字段中键入了不匹配的密码以及其他字段为空时),javascript,jquery,jquery-validate,Javascript,Jquery,Jquery Validate,我正在使用“jquery验证规则” 我的jquery验证规则在blur&tab期间运行良好。。但问题是。。单击“提交”后,首先要检查密码和确认密码。。然后它将验证另一个字段。。如何解决此问题? 屏幕截图在单击提交按钮时显示。。单击提交后。。它优先考虑确认密码检查而不是顺序检查。。为什么会这样 单击提交后。。它应该从上到下验证字段。。但首先是验证确认密码字段 对于表单验证,但在验证检查期间,其检查“retype password”首先意味着“equalTo”属性(仅当我们在两个字段中键入不匹配的密

我正在使用“jquery验证规则”


我的jquery验证规则在blur&tab期间运行良好。。但问题是。。单击“提交”后,首先要检查密码和确认密码。。然后它将验证另一个字段。。如何解决此问题?

屏幕截图在单击提交按钮时显示。。单击提交后。。它优先考虑确认密码检查而不是顺序检查。。为什么会这样


单击提交后。。它应该从上到下验证字段。。但首先是验证确认密码字段

对于表单验证,但在验证检查期间,其检查“retype password”首先意味着“equalTo”属性(仅当我们在两个字段中键入不匹配的密码且其他字段为空时)

首先检查“重新输入密码”。。然后检查其他字段

我想根据表单字段位置检查首选项

你可以在截图中清楚地看到这个问题。。“jquery验证规则”首先检查“重新键入密码”(仅当我们在两个字段中键入的密码不匹配且其他字段为空时)。。在此期间,不会显示其他验证错误消息。如果两个密码字段都匹配,则会显示其余表单字段的验证错误消息

我的代码片段:

<script>

  $(document).ready(function () {

    jQuery.validator.addMethod("lettersonly", function(value, element) {
        return this.optional(element) || /^[a-z]+$/i.test(value);
      }, "Letters only please");

    $('#signup').validate({
        onblur: true,
        onkeyup: false,
        onfocusout: function(element) {
          this.element(element);
        },
        rules: {
            "first_name": {
              required: {
                    depends:function(){
                        $(this).val($.trim($(this).val()));
                        return true;
                    }
              },
              maxlength: 15,
              lettersonly: true
            },
            "last_name": {
              required: {
                    depends:function(){
                        $(this).val($.trim($(this).val()));
                        return true;
                    }
              },
              maxlength: 15,
              lettersonly: true
            },
            "mobile_no": {
              required: {
                    depends:function(){
                        $(this).val($.trim($(this).val()));
                        return true;
                    }
              },
              minlength: 10,
              maxlength: 10,
              digits: true
            },
            "email": {
              required: {
                    depends:function(){
                        $(this).val($.trim($(this).val()));
                        return true;
                    }
              },
              email: true
            },
            "password": { 
              required: true,
              minlength: 4,
              maxlength: 4,
              digits: true
            },
            "conf_password": {
              required: true,
              equalTo: "#mainpassword"
            }
        },
        messages: {
            "first_name": {
              required: "First Name is required",
              maxlength: "First Name should be less than 15 characters"
            },
            "last_name": {
              required: "Last Name is required",
              maxlength: "First Name should be less than 15 characters"
            },
            "mobile_no": {
              required: "Mobile No is required",
              minlength: "Mobile No should be a 10-digit number",
              maxlength: "Mobile No should be a 10-digit number",
              digits: "Mobile No should contain only numbers"
            },
            "email": {
              required: "Email is required",
              email: "Invalid email Id"
            },
            "password": {
              required: "Password is required",
              minlength: "Password should be a 4-digit number",
              maxlength: "Password should be a 4-digit number",
              digits: "Password should contain only numbers"
            },
            "conf_password": {
              required: "Confirm Password is required",
              equalTo: "Password mismatch"
            }
        },

        invalidHandler: function(form, validator) {
            var errors = validator.numberOfInvalids();
            if (errors) {
                $("html, body").animate({
                    scrollTop:  $(validator.errorList[0].element).offset().top-100
                }, 500);
            }
        }
    });
  });
</script>

$(文档).ready(函数(){
jQuery.validator.addMethod(“lettersonly”),函数(值,元素){
返回此.optional(元素)| |/^[a-z]+$/i.test(值);
},“仅限信件”);
$(“#注册”)。验证({
是的,
onkeyup:false,
onfocusout:函数(元素){
这个,元素(元素),;
},
规则:{
“名字”:{
所需:{
依赖:函数(){
$(this.val($.trim($(this.val()));
返回true;
}
},
最大长度:15,
信一:真的
},
“姓氏”:{
所需:{
依赖:函数(){
$(this.val($.trim($(this.val()));
返回true;
}
},
最大长度:15,
信一:真的
},
“手机号码”:{
所需:{
依赖:函数(){
$(this.val($.trim($(this.val()));
返回true;
}
},
最小长度:10,
最大长度:10,
数字:真
},
“电子邮件”:{
所需:{
依赖:函数(){
$(this.val($.trim($(this.val()));
返回true;
}
},
电子邮件:真的
},
“密码”:{
要求:正确,
最小长度:4,
最大长度:4,
数字:真
},
“conf_密码”:{
要求:正确,
equalTo:“#主密码”
}
},
信息:{
“名字”:{
必填项:“必须输入姓名”,
maxlength:“名字应少于15个字符”
},
“姓氏”:{
必填项:“必须输入姓氏”,
maxlength:“名字应少于15个字符”
},
“手机号码”:{
必选:“手机号码是必选的”,
minlength:“手机号码应为10位数字”,
maxlength:“手机号码应为10位数字”,
数字:“手机号码应仅包含数字”
},
“电子邮件”:{
必填:“需要电子邮件”,
电子邮件:“无效的电子邮件Id”
},
“密码”:{
必填:“需要密码”,
minlength:“密码应为4位数字”,
maxlength:“密码应为4位数字”,
数字:“密码应仅包含数字”
},
“conf_密码”:{
必填:“需要确认密码”,
equalTo:“密码不匹配”
}
},
invalidHandler:函数(表单、验证器){
var errors=validator.numberOfInvalids();
如果(错误){
$(“html,body”).animate({
scrollTop:$(validator.errorList[0].元素).offset().top-100
}, 500);
}
}
});
});
请建议我更改以避免此问题


(在屏幕截图中,仅显示表单的某些部分)

您的描述非常不清楚

你可以在截图中清楚地看到这个问题。。“jquery验证规则”首先检查“重新键入密码”(仅当我们在两个字段中键入的密码不匹配且其他字段为空时,)。。在此期间,不会显示其他验证错误消息。如果两个密码字段都匹配,则会显示其余表单字段的验证错误消息

在按下提交按钮或用户直接与其他字段交互之前,不应显示任何其他字段的错误。当用户与一个字段交互时,仅显示该字段的错误。例如,如果您正在与
xyz
字段交互并违反验证,则只会显示
xyz
字段的错误

如果他们跳过“必需”字段,则在按下提交按钮之前不会显示“必需”消息。只有“提交”按钮才能执行tr
onfocusout: function(element) {
    this.element(element);
},
onblur: true