如何使用jquery验证验证日期类型字段

时间:2014-09-19 12:47:06

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

我正在使用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)的月份部分表现为日期。

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

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

在代码下面做两件事1)Set date format和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)]进行验证。