我正在使用这个插件: http://bassistance.de/jquery-plugins/jquery-plugin-validation/
用于JQuery表单验证。除了电子邮件字段,一切都很好。一旦我开始在该字段中输入内容,请输入“请输入有效的电子邮件地址”。即使我到目前为止输入的内容是正确的,也会显示消息。
在文档(http://docs.jquery.com/Plugins/Validation)中,它说:
“在字段被标记为无效之前,验证是懒惰的:之前 用户可以第一次提交表单 字段没有令人讨厌的消息 - 他以前不会被窃听 他有机会真正输入正确的值“
但是电子邮件领域似乎没有发生这种情况。
这个问题也可以在作者的演示中看到: http://jquery.bassistance.de/validate/demo/
此行为是否有选项/解决方法?
答案 0 :(得分:0)
答案 1 :(得分:0)
“在字段被标记为无效之前,验证是懒惰的:在第一次提交表单之前,用户可以通过标签浏览 字段没有令人讨厌的消息 - 他以前不会被窃听 他有机会实际输入正确的值“
但是电子邮件领域似乎没有发生这种情况。
这不仅仅是email
规则。您可以在minlength
规则上看到相同的行为。
此行为是否有选项/解决方法?
你可以使用预发布版本来解决这个问题。但是,您可以简单地使用onkeyup
回调函数的修改版本,而不是通过在生产网站上使用插件的“预发布”版本来冒新的错误......
$('#myform').validate({
onkeyup: function (element, event) {
if (event.which === 9 && this.elementValue(element) === '') {
return;
} else if (element.name in this.submitted ) {
this.element(element);
}
},
// your other options
});
使用上述内容,所有onkeyup
验证都会被忽略,直到第一次提交表单,或者直到用户选中包含输入数据的字段为止。