0

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

4

2 回答 2

1

我遇到了同样的问题并在这里找到了解决方案: 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        
   });
于 2018-04-27T11:03:26.893 回答
0

您应该指定何时执行您的验证功能,当您完成输入填充时,有一个“keyup”执行您的功能。这是文档keyup。你验证你的日期,如果它是正确的,你使用函数 hide(),但记住验证代码应该在 keyup() 中

于 2013-09-20T11:26:52.300 回答