Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.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
Jquery验证插件:没有来自无效文本区域的错误消息_Jquery_Html_Validation - Fatal编程技术网

Jquery验证插件:没有来自无效文本区域的错误消息

Jquery验证插件:没有来自无效文本区域的错误消息,jquery,html,validation,Jquery,Html,Validation,我有一个联系人表单,它使用在表单数据发送到phpmailer脚本之前进行一些快速的用户友好验证 姓名和电子邮件字段按预期工作,但是注释文本区域不提供反馈,即使不满足“规则”中指定的参数(即必填和最小长度),也允许提交表单。不知道我错过了什么,希望能有新的眼光 名字 姓 电子邮件 评论 $.validator.addMethod(“lettersonly”),函数(值,元素){ 返回此.optional(元素)| |/^[a-z\-,()'“\s]+$/i.test(值); }); $(函

我有一个联系人表单,它使用在表单数据发送到phpmailer脚本之前进行一些快速的用户友好验证

姓名和电子邮件字段按预期工作,但是注释文本区域不提供反馈,即使不满足“规则”中指定的参数(即必填和最小长度),也允许提交表单。不知道我错过了什么,希望能有新的眼光


名字
姓
电子邮件
评论

$.validator.addMethod(“lettersonly”),函数(值,元素){
返回此.optional(元素)| |/^[a-z\-,()'“\s]+$/i.test(值);
});
$(函数(){
//表单提交成功/失败消息
变量反馈=$(“#反馈”),
feedbackDiv=feedback.find('span'),
//loading.svg的ID
加载=$(“#加载”),
//包含表单的Div的ID
尾杆=$(“#尾杆”);
功能showFeedback(消息、属性){
反馈文本(消息),
反馈分区属性(“类”,属性);
反馈延迟(3000)。衰减(“慢”);
反馈div.delay(3005).removeAttr('style');
}
$(“#commentForm”).validate({
是的,
规则:{
名字:{
要求:正确,
信一:真的
},
姓氏:{
要求:正确,
信一:真的
},
电邮:{
要求:正确,
电子邮件:真的
},
评论:{
要求:正确,
最小长度:10
}
},
信息:{
名字:{
必填项:“需要名字”,
字母仅限:“请使用字母或标点符号”
},
姓氏:{
必填项:“必须输入姓氏”,
字母仅限:“请使用字母或标点符号”
},
电邮:{
必填项:“请输入电子邮件地址”,
电子邮件:“不是有效的电子邮件地址”
},
评论:{
required:“需要注释”,
minlength:'您的评论必须超过10个字符'
},
},
errorPlacement:函数(错误,元素){
if(element.attr('name')=='comment')
error.insertAfter(“#commentError”);
else if(element.attr('name')=='email')
error.insertAfter(“#emailError”);
else if(element.attr('name')='lastname')
error.insertAfter(“#lnamererror”);
else if(element.attr('name')='firstname')
error.insertAfter('fnameError');
},
submitHandler:函数(表单){
变量选项={
提交之前:函数(){
loading.show();
},
成功:函数(){
showFeedback(“感谢您的留言,我们会尽快回复您。”,“成功”);
form.reset();
loading.hide();
尾杆。延迟(4000)。滑动切换(“慢”);
},
错误:函数(){
showFeedback('很抱歉出现意外错误,您的邮件未发送。请稍后再试。','失败');
loading.hide();
form.reset();
}
};
$(表格)。ajaxSubmit(选项);
},
invalidHandler:函数(){
showFeedback('一个或多个字段无效','失败');
}
});
});

您不必为文本区域验证不同的方式。我猜错误文本确实存在于DOM中。首先,检查它是否存在于DOM中。它可能被提交按钮的位置隐藏。这与您提供的代码完全相同。请尝试在此处运行它。它可以正常工作

//代码在这里
$.validator.addMethod(“lettersonly”,函数(值,元素){
返回此.optional(元素)| |/^[a-z\-,()'“\s]+$/i.test(值);
});
$(函数(){
//表单提交成功/失败消息
变量反馈=$(“#反馈”),
feedbackDiv=feedback.find('span'),
//loading.svg的ID
加载=$(“#加载”),
//包含表单的Div的ID
尾杆=$(“#尾杆”);
功能showFeedback(消息、属性){
反馈文本(消息),
反馈分区属性(“类”,属性);
反馈延迟(3000)。衰减(“慢”);
反馈div.delay(3005).removeAttr('style');
}
$(“#commentForm”).validate({
是的,
规则:{
名字:{
要求:正确,
信一:真的
},
姓氏:{
要求:正确,
信一:真的
},
电邮:{
要求:正确,
电子邮件:真的
},
评论:{
要求:正确,
最小长度:10
}
},
信息:{
名字:{
必填项:“需要名字”,
字母仅限:“请使用字母或标点符号”
},
姓氏:{
必填项:“必须输入姓氏”,
字母仅限:“请使用字母或标点符号”
},
电邮:{
必填项:“请输入电子邮件地址”,
电子邮件:“不是有效的电子邮件地址”
},
评论:{
required:“需要注释”,
minlength:'您的评论必须超过10个字符'
},
},
errorPlacement:函数(错误,元素){
if(element.attr('name')=='comment')
error.insertAfter(“#commentError”);
else if(element.attr('name')=='email')
error.insertAfter(“#emailError”);
else if(element.attr('name')='lastname')
error.insertAfter(“#lnamererror”);
else if(element.attr('name')='firstname')
error.insertAfter('fnameError');
},
submitHandler:函数(表单){
变量选项={
提交之前:函数(){
loading.show();
},
成功:函数(){
showFeedback(“感谢您的留言,我们会尽快回复您。”,“成功”);
form.reset();
loading.hide();
尾杆。延迟(4000)。滑动切换(“慢”);
},
错误:函数(){
showFeedback('Sorr