Javascript 如何使用jqueryvalidate';s错误放置和淋浴同时发生错误
我最近从验证中删除了messages函数。然后,我将其放入jqueryvalidate的Javascript 如何使用jqueryvalidate';s错误放置和淋浴同时发生错误,javascript,jquery,jquery-validate,Javascript,Jquery,Jquery Validate,我最近从验证中删除了messages函数。然后,我将其放入jqueryvalidate的showErrors函数中,以便获得所需输入的边框,使其变为红色。在这一点上,一切都很顺利,直到我用它添加了showErrors 添加showErrors的原因是我希望显示一条简单的消息,而不是多条消息,并且边框仍然显示为红色 从我下面的代码片段中,您将看到当前只有showErrors在工作。无论如何,有没有办法让这两个同时工作。如果是,怎么做 或者,这里有一个 调整JS errorPlacement: fu
showErrors
函数中,以便获得所需输入的边框,使其变为红色。在这一点上,一切都很顺利,直到我用它添加了showErrors
添加showErrors
的原因是我希望显示一条简单的消息,而不是多条消息,并且边框仍然显示为红色
从我下面的代码片段中,您将看到当前只有showErrors
在工作。无论如何,有没有办法让这两个同时工作。如果是,怎么做
或者,这里有一个
调整JS
errorPlacement: function() {
return false;
},
showErrors: function(errorMap, errorList) {
$('#formErrors').html('All fields must be completed before you submit the form.');
this.defaultShowErrors();
},
submitHandler: function() {
submit();
},
$('#catalogRequestForm')。验证({
忽略:[],
规则:{
姓名:{
要求:正确,
最小长度:2
},
姓氏:{
要求:正确,
最小长度:2
},
地址1:{
要求:正确,
最小长度:5
},
城市:{
要求:正确,
最小长度:2
},
声明:{
必填项:true
},
邮编:{
要求:正确,
数字:对,
最小长度:5
},
电邮:{
要求:正确,
电子邮件:真的
}
},
errorPlacement:函数(){
返回false;
},
错误:功能(错误映射、错误列表){
$(“#formErrors”).html('提交表单之前必须填写所有字段');
},
submitHandler:function(){
提交();
},
});代码>
。错误{
边框:2px实心#b82222;
}
在showErrors
中使用this.defaultShowErrors()
重新激活默认消息行为。由于在errorPlacement
中有一个return false
,因此只能看到样式,而不能看到消息
showErrors: function(errorMap, errorList) { // <- disable default errorPlacement
$('#formErrors').html('All fields must be completed before you submit the form.');
this.defaultShowErrors(); // <- re-enable default errorPlacement
},
演示:
$('#catalogRequestForm')。验证({
忽略:[],
规则:{
姓名:{
要求:正确,
最小长度:2
},
姓氏:{
要求:正确,
最小长度:2
}
},
errorPlacement:函数(){
返回false;
},
错误:功能(错误映射、错误列表){
$(“#formErrors”).html('提交表单之前必须填写所有字段');
this.defaultRors();
},
submitHandler:函数(表单){
表单提交();
},
});代码>
。错误{
边框:2px实心#b82222;
}
不确定我做错了什么,但同样的问题也在我身上发生。@Paul,不知道那句话是什么意思。我的现场演示修复了您在OP中报告的问题。您没有看到上面我的现场演示吗?对不起,我的解释太糟糕了。我根据您的答案对代码进行了更改,结果与最初的版本相同。我更新了我的问题并发布了新代码。@Paul,我仍然完全不知道你在说什么;您发布的代码正在运行。我所做的只是将这一行添加到您发布的JSFIDLE中:
submitHandler: function(form) { // <- pass 'form' argument into function
// do something, then submit
form.submit(); // <- attach 'form' argument to '.submit()'
}