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