如何解决Jquery Datepicker验证问题?

时间:2013-09-20 10:48:26

标签: jquery validation datepicker

我在播放框架中对我的表单进行了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) {
        }
});

2 个答案:

答案 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        
   });