bassistance jQuery表单validation插件 – 提交前的电子邮件错误
我正在使用这个插件: http : //bassistance.de/jquery-plugins/jquery-plugin-validation/
用于JQuery表单validation。 除了电子邮件字段,一切都很好。 一旦我开始输入该字段,请输入“请输入有效的电子邮件地址”。 消息出现,即使我到目前为止输入的内容是正确的。
在文档( http://docs.jquery.com/Plugins/Validation )中,它说:
“在字段被标记为无效之前,validation是懒惰的:在第一次提交表单之前,用户可以通过字段标记而不会收到恼人的消息 – 在他有机会实际输入正确的内容之前,他不会被窃听值”
但这似乎不会发生在电子邮件领域。
这个问题也可以在作者的演示中看到: http : //jquery.bassistance.de/validate/demo/
这种行为是否有选项/解决方法?
“在字段被标记为无效之前,validation是懒惰的:在第一次提交表单之前,用户可以通过字段标记而不会收到恼人的消息 – 在他有机会实际输入正确的内容之前,他不会被窃听值”
但这似乎不会发生在电子邮件领域。
这不仅仅是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
validation都将被忽略,直到第一次提交表单,或者直到用户选中包含输入数据的字段为止。
演示: http : //jsfiddle.net/wNj4n/
此行为在github上的最新jquery-validate.js中得到修复。 这个bug报告为
‘当文字在字段中时,电子邮件validation会立即触发’
错误报告和讨论在这里