cho*_*ata 5 jquery jquery-validate
我正在使用非常好的低音验证插件来满足我所有的表单验证需求:http://bassistance.de/jquery-plugins/jquery-plugin-validation/
遇到的问题:即使用户尚未完成字段,也会立即显示错误消息.因此:在用户完成输入之前,将显示无效的电子邮件.
在此处的文档中,一种解决方案是设置选项onkeyup以false使错误消息仅显示在onblur上.
但是,在我的设置中,我遇到了两个额外的问题(上面的解决方案没有解决)
所以,我最初的问题是:如何在第一次提交之后才进行Bassistance验证并且从那里开始使用它的默认设置?
这是我的代码:
if($('#contact_form').length) {
$("#contact_form").validate({
rules: {
first_name: {
required: true
},
last_name: {
required: true
},
message: {
required: true
},
telephone: {
required: true
},
email: {
required: true,
email: true
},
email_again: {
required: true,
email: true,
equalTo: "#email"
},
norobot: {
required:true,
minlength:4,
maxlength:4,
number:true
}
}
});
}
Run Code Online (Sandbox Code Playgroud)
请在此处找到完整的JavaScript:http://lad.chocolata.be/js/main.js
这是一个工作示例,其中bug onkeyup设置为false:http:
//lad.chocolata.be/nl/contact
提交带有一些无效字段的表单后,错误消息在更正时不会清除.
我错过了什么?
引用 OP: “所以,简单明了,我的问题是:如何才能使 Bassistance 验证仅在第一次提交后才触发,并从那里开始使用默认设置?”
警告读者: 通常,人们会在 DOM 上调用.validate() 一次准备初始化表单。下面的代码仅在首次按下提交按钮时调用.validate() 一次...因此,在第一次按下该按钮之前不会进行任何验证。
不需要.validate()多次调用,所以我使用了jQueryone()事件。
$(document).ready(function() {
$('#submit').one('click', function() {
$('#myform').validate({
// your rules & options
});
});
});
Run Code Online (Sandbox Code Playgroud)
工作演示:
| 归档时间: |
|
| 查看次数: |
4485 次 |
| 最近记录: |