我在播放框架中对我的表单进行了jquery验证,当我直接点击提交按钮而没有在文本框验证消息中输入值时,它正常工作。 但问题是,当我从datepicker(bootstrap-datepicker.js)中选择日期时,验证消息不会因日期字段而消失。点击两次后它消失了。请帮帮我。
Jquery Code:
$("form input.date").datepicker({
autoclose: true,
onClose: function() {
$(this).valid();
}
});
Validation Function:
$("#register").validate({
focusCleanup: true,
rules: {
name: "required",
email: {
required: true,
email: true
},
phone: {
required: true,
number:true,
minlength:10,
maxlength:10
},
date:{
required: true,
date: true
}
},
messages: {
name: "Please provide your full name",
email: {
required: "Please provide your email address",
email: "Please provide a valid email address"
},
phone: {
required: "Please provide your mobile number",
number: "Please provide a valid mobile number",
minlength:"Please provide a valid mobile number",
maxlength:"Please provide a valid mobile number"
},
date: {
required: "Please select date ",
date: "Please select valid date"
}
},
submitHandler: function(form) {
}
});
答案 0 :(得分:0)
您应该指定何时执行验证功能,当您完成输入填充时,会有'keyup'执行您的功能。 这是文档keyup。 你验证你的日期,如果它是正确的你使用函数hide(),但记住验证码应该在keyup()
内答案 1 :(得分:0)
我遇到了同样的问题并在此处找到了解决方案: jQuery validator and datepicker click not validating
Op非常接近,问题解决了用户Sparky的以下(修改过的)代码:
$("#datepicker").datepicker({
autoclose: true,
dateFormat: 'dd/mm/yy',
}).change(function() {
$(this).valid(); // triggers the validation test
});