2

我在我的 MVC 3 + Razor 项目中使用 Jquery Date Picker。

我已经成功地能够使用它并将其与我的项目集成。

现在使用日期选择器我可以看到它不允许像 a,b...@#,$,%.. 等字符。但它确实允许数字,理解我的意思看截图,

我想我需要对 jquery 本身进行一些更改,但我不知道在哪里。请帮我解决这个问题。

在此处输入图像描述

在此处输入图像描述

在 marcolinux 的帮助下,我使用了http://keith-wood.name/uiDatepickerValidation.html,现在当我将它添加到我的脚本中时

        $(form).validate({
        rules: {
        startDate: {
        dpDate: true
        }
        }
        });

并导入此链接

 <script src="../../Scripts/jquery.ui.datepicker.validation.js" type="text/javascript"></script>

我现在在我的文本框中使用 class="dpDate" 在这方面取得了更大的进展,现在我可以在我的文本框中获得一个红色边框,用于输入,如 1212635245 111/12313/12313

现在我需要知道的最后一部分是如何在文本框旁边显示错误消息。

4

4 回答 4

3

您似乎担心在文本框中“键入”的日期。onClose您可以在 datepicker 触发的事件中挂钩错误检查功能:

允许您在日期选择器关闭时定义自己的事件,无论是否选择日期。该函数接收选定的日期作为文本('' 如果没有)和 datepicker 实例作为参数。这指的是关联的输入字段。

当用户在文本框中键入内容时,日期选择器将打开。当用户选择日期(有效)或控件失去焦点(日期可能有效也可能无效)时,onClose 事件将触发。然后,您可以检查事件处理程序中的日期:

$("#datepicker").datepicker({
    onClose: function(dateText, instance) {
        var date;
        try {
            date = $.datepicker.parseDate(instance.settings.dateFormat || $.datepicker._defaults.dateFormat, dateText, instance.settings);
        }
        catch (e) {
            alert("$.datepicker.parseDate failed");
        }
        if (!date) {
            alert("This date is not valid");
            $(this).val("");
        }
    }
});

演示在这里

于 2012-04-04T09:53:12.173 回答
1

这个插件会做你问的

http://keith-wood.name/uiDatepickerValidation.html

例子

Validate date:   2222/22/222
results :   Please enter a valid date
于 2012-04-04T08:41:48.953 回答
1

放入一个属性 readonly="readonly" 应该可以解决问题:)

于 2012-04-04T10:06:01.397 回答
1

在文本框的按键上试试,

$('#ID').keypress(function (event) {
if (event.charCode >= 48 && event.charCode <= 57 && this.value.length < 10 || event.charCode == 47 && (this.value.length == 2 || this.value.length == 5)) { if ((this.value.length == 2 || this.value.length == 5) && event.charCode != 47) {
$(this).val(this.value + "/");
} } else event.preventDefault(); });

于 2017-08-04T10:13:23.710 回答