ASP.NET MVC 5和jquery ui datepicker验证

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ASP.NET MVC 5和jquery ui datepicker验证相关的知识,希望对你有一定的参考价值。

在asp.net MVC应用程序中,我有以下属性:

...
public System.DateTime StartTime { get; set; }
...

并且,在视图中(在表单中):

<div class="form-group">
   @html.LabelFor(model => model.StartTime, htmlAttributes: new { @class = "control-label col-md-2" })
   <div class="col-md-10">
      @Html.EditorFor(model => model.StartTime, new { htmlAttributes = new { @class = "form-control" } })
      @Html.ValidationMessageFor(model => model.StartTime, "", new { @class = "text-danger" })
   </div>
</div>

javascript中:

$("#StartTime").datepicker({
    dateFormat: "dd/mm/yy",
});

我使用asp.net MVC的默认jquery验证得到以下错误:

字段StartTime必须是日期。

我可以用dd / MM / YYYY格式处理日期而在asp.net MVC中没有任何错误?

答案

我遇到了同样的问题,问题的关键是dateFormat。如果您使用默认格式,则提交时没有问题,但如果您更改它,则提交时会出现问题。

我发现的解决方案是使用altField和altFormat。使用datepicker,您可以使用显示值的格式和具有不同格式的替代隐藏字段(altField)(altFormat)。要使用它,请执行以下操作:

    $("#StartTime").datepicker({
    dateFormat: "dd/mm/yy",
    altField: $(this).val(),
    altFormat: "M/dd/yy"
    });

以上是关于ASP.NET MVC 5和jquery ui datepicker验证的主要内容,如果未能解决你的问题,请参考以下文章

Asp.Net MVC 应用程序的 Kendo UI 与 Jquery/Bootstrap 设计决策

ASP.Net MVC jQuery UI DatePicker 日期格式

Asp.Net MVC 中的 JQuery UI 日期选择器

jQuery UI Ajax 自动完成区分大小写 ASP.net MVC

用于 jquery CRUD 的 Asp.net core mvc + kendo ui

ASP.Net MVC在AspNet Mvc使用JQuery AutoComplete组件