Javascript 是否';忽略';jQuery中的验证失败是否会导致所有验证都不起作用?
当我使用validate()方法的“ignore”时,无论验证结果如何(好或坏),都会继续提交 这就像“忽略”使所有输入元素的验证绕过。所以,即使一个或多个输入元素不满足验证条件,表单也已提交,服务器将正常工作 哦,在我的例子中,“忽略”使submitHandler和(甚至!)invalidHandler也不能工作 什么地方不对?下面是我的示例(不是全部)代码Javascript 是否';忽略';jQuery中的验证失败是否会导致所有验证都不起作用?,javascript,jquery,validation,Javascript,Jquery,Validation,当我使用validate()方法的“ignore”时,无论验证结果如何(好或坏),都会继续提交 这就像“忽略”使所有输入元素的验证绕过。所以,即使一个或多个输入元素不满足验证条件,表单也已提交,服务器将正常工作 哦,在我的例子中,“忽略”使submitHandler和(甚至!)invalidHandler也不能工作 什么地方不对?下面是我的示例(不是全部)代码 $('#frm').validate({ submitHandler: function() {
$('#frm').validate({
submitHandler: function() {
var applyMsg = "Proceed?";
var f = confirm(applyMsg);
if(f) {
//console.log(" confirm : "+ f );
return true;
} else {
//console.log(" no confirm : "+ f );
return false;
}
},
invalidHandler: function(form, validator) {
var errors = validator.numberOfInvalids();
if (errors) {
alert(validator.errorList[0].message);
validator.errorList[0].element.focus();
}
},
ignore: '.ignore',
rules: {
PHOTO_PLACE: {photo_place: true}
},
messages: {
PHOTO_PLACE: {required: ""},
ENT_DATE: {minlength: "", maxlength: ""}
}
});
<form id="frm" name="frm" method="post" class="app_frm">
<input type="hidden" id="PHOTO_PLACE" name="PHOTO_PLACE" />
<input type="text" name="ENT_DATE" minlength="8" maxlength="8" class="ignore" />
</form>
$('frm')。验证({
submitHandler:function(){
var applyMsg=“是否继续?”;
var f=确认(应用符号符号);
如果(f){
//控制台日志(“确认:+f”);
返回true;
}否则{
//控制台日志(“无确认:+f”);
返回false;
}
},
invalidHandler:函数(表单、验证器){
var errors=validator.numberOfInvalids();
如果(错误){
警报(validator.errorList[0]。消息);
validator.errorList[0]。元素。焦点();
}
},
忽略:'.忽略',
规则:{
照片地点:{照片地点:正确}
},
信息:{
照片位置:{必需:},
ENT_日期:{minlength:,maxlength:}
}
});
谢谢您的帮助。一旦您忽略了文本框,您就只有一个字段——“照片位置”,我不确定您是否正确设置了规则。查看文档()我很确定它应该是
规则{PHOTO_PLACE:{required:true;}}
。否则,很难看到验证器如何知道许多可能的规则中哪些必须解析为true才能进行验证。试试看你是否还有问题。此外,如果您说提交处理程序根本没有运行,请检查控制台是否有任何错误。@ADyson感谢您的回复。关于提交处理程序,浏览器控制台中没有任何错误。我将规则设置为PHOTO_PLACE:{required:true;},但它不会成功。在本例中,我通过绕过不检查指定输入而不使用“忽略”对其进行编码。