【发布时间】:2023-04-04 12:48:01
【问题描述】:
我有一个包含日期字段的表单。我为此使用 JQuery datepicker。这不会在客户端产生任何验证错误,但在尝试更新数据库时出现验证错误。
错误是“值 '27/09/2012' 对 AvailableFrom 无效。”
我的实体如下——代码先生成:
[DisplayFormat(DataFormatString = "{0:dd/mm/yyyy}", ApplyFormatInEditMode = true)]
public DateTime? AvailableFrom { get; set; }
JQuery 脚本
<script type="text/javascript" src="@Url.Content("~/Scripts/jquery-ui-1.8.23.datepicker.min.js")"></script>
<script>
$(function () {
$('.datepicker').datepicker({ minDate: 0, dateFormat: 'dd/mm/yy' });
});
</script>
查看:
<div class="editor-label">
@Html.LabelFor(model => model.Property.AvailableFrom)
@Html.TextBoxFor(model => model.Property.AvailableFrom, new { @class = "datepicker" })
</div>
<div class="editor-field">
@Html.ValidationMessageFor(model => model.Property.AvailableFrom)
</div>
【问题讨论】:
-
错误信息与JQuery DatePicker无关。您的数据库不接受该值尝试更改日期格式,以便两者具有相同的格式(yy 或 yyyy)
-
可能是我错了,看看这个答案。 stackoverflow.com/questions/7835614/…
-
不是 yy 在 JQuery 中返回“2012”。所以,数据库中的 yyyy 应该与之匹配
标签: jquery validation datetime datepicker