jquery datepicker和自定义验证

Run*_*lse 4 validation jquery-ui jquery-validate jquery-ui-datepicker

我需要添加自定义验证(我认为)来验证用户的输入.这是我的用例:我使用jquery ui datepicker来选择日期,本地化如下:

$.datepicker.setDefaults( $.datepicker.regional[ currentLocale ] );

我使用了bassistance验证插件,并使用规则date:true等不适用于不同的格式(或者如果它们确实如此,请告诉我如何!).所以我已经制作了我自己的日期验证方法

   $.validator.addMethod("validDate", function(value) {
        return parseDateString(value) != null;
    }, jQuery.validator.messages.date);
Run Code Online (Sandbox Code Playgroud)

这一切都很有效,除了在日期选择器中选择日期时,在更改组件的值之前触发验证的事实!所以我实际上验证了以前的价值....

有没有人有我的解决方案?提前致谢:)

And*_*ker 9

你可以触发验证在用户关闭datepicker弹出:

$("#birthdate").datepicker({
    onClose: function() {
        /* Validate a specific element: */
        $("form").validate().element("#birthdate");
    }
});
Run Code Online (Sandbox Code Playgroud)

使用validateelement()功能将使您立刻验证一个特定的领域.

我在这里创建了一个例子,其中任何年份的日期!= 2011将触发验证失败.