-2

我一直在努力为我的问题找到一个好的解决方案。谁能告诉我如何在日期的验证事件上显示弹出窗口。我正在使用 jQuery 验证插件 1.6 进行验证(jquery.validate.js)。我的场景是,当用户选择一个日期时,我验证该日期并在无效时显示正确的错误消息。如果日期无效,我想要一个密码弹出窗口以使无效日期有效。不幸的是,我找不到任何好的解决方案。

这是我的代码:

$(document).ready(function () {
    ...
    $('#txtDate').rules("add", { required: true, restrictDate: true, messages: { required: "Please enter log date", restrictDate: "Check the selected date." } });
    ...
    $.validator.addMethod("restrictDate", function (value, element) { var activityDate = GetDate($('#txtDate').val(), formatOfDate); if (Date.parse(activityDate) > Date.parse(dt)) { return false; } else return true; }, "Date comparison error." );
    ...
    //Registering date picker
    $('#txtDate').datepicker({ dateFormat: 'dd/mm/yy', changeMonth: true, changeYear: true, constrainInput: true });

...
....

)};

4

2 回答 2

0

你见过jQuery UI 的对话框组件吗?您可以显示带有任何您想要的消息的任意模式对话框(弹出窗口)。

使用 jQuery validate 插件,invalidHandler在调用 validate 时使用,如下所示:

$(".selector").validate({
    invalidHandler: function(event, validator) {
        // If there are any errors in your form, control reaches this function
        // First check if your date field was the source of the error
        if(validator.element('#datefield')){
            // If it was, show the dialog box you want.
            $('#yourdiv').html("<div> Any html message/content you want here</div>");
            $('#yourdiv').dialog();
        }
    }
 })
于 2013-03-19T06:34:52.900 回答
0
if(!$('#dateId').valid()){
    $('#divId').html("Error message");
    $( "#divId" ).dialog();
}
于 2013-03-19T06:36:49.340 回答