【问题标题】:How to validate date type field by using jquery validation如何使用 jquery 验证来验证日期类型字段
【发布时间】:2014-09-19 12:47:06
【问题描述】:

我正在使用 ASP.NET MVC。我遇到了日历 - 日期验证问题。

此日历的代码如下:

<script>
    $(function () {
        $(".date").datepicker({ dateFormat: 'dd.mm.yy' }).
    });
</script>

<tr>
 <td style="text-align:left; padding-left:50px;">
     @Html.TextBoxFor(model => model.startdate, "{0:dd.MM.yyyy}",        
             new { @class = "date", style = "width:65px; font-weight: bold;", @readonly = "true" })
 </td>
</tr>

我通过 JQuery 验证插件验证表单的字段。为此,我包含了以下两个 JavaScript 库;

<script src="~/Scripts/jquery.validate.min.js"></script>
<script src="~/Scripts/jquery.validate.unobtrusive.min.js"></script>

我添加上面的JavaScript库后,日期字段无法通过验证,无法正常工作。

例如,我有一个日期:19.09.2014。

日历的日部分 (19) 表现为月份,而日历的月份部分 (09) 表现为日。

我该如何解决这个问题?我想让日历的验证日期字段和月日部分正常工作。

任何帮助将不胜感激。

【问题讨论】:

标签: jquery asp.net-mvc datepicker jquery-validate unobtrusive-validation


【解决方案1】:

下面的代码做了两件事 1)Set date formatand 2)Date format Validation

$(function () {
        $.validator.addMethod('date',
        function (value, element) {
            if (this.optional(element)) {
                return true;
            }
            var valid = true;
            try {
                $.datepicker.parseDate('dd.mm.yy', value);
            }
            catch (err) {
                valid = false;
            }
            return valid;
        });
        $(".datetype").datepicker({ dateFormat: 'dd.mm.yy' });
    });

在您的模型中添加[DataType(DataType.Date)]进行验证。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-11
    • 2019-06-03
    • 1970-01-01
    • 2011-02-23
    • 2022-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多