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