我对日期格式感到困惑,在创建模式下,验证程序只接受格式dd-MM-yyyy
而不是dd.MM.yyyy
。在编辑模式下,它向我建议格式dd.MM.yyyy
无效,所以我每次都要更改它。
这是日期属性:
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}", ApplyFormatInEditMode = true)]
public DateTime dateOut
{
get;
set;
}
有人可以帮我找出错误在哪里吗?
谢谢。
答案 0 :(得分:2)
格式中的句点指定当前区域性中的日期分隔符。您可以改为使用文字句点:
[DisplayFormat(DataFormatString = "{0:dd'.'MM'.'yyyy}", ApplyFormatInEditMode = true)]
答案 1 :(得分:0)
使用EditorFor()
代替TextBoxFor()
: -
查看: -
@Html.EditorFor(m => m.dateOut)
型号: -
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}", ApplyFormatInEditMode = true)]
public DateTime dateOut
{
get;
set;
}
答案 2 :(得分:0)
试试这个:
@Html.TextBoxFor(m => m.Date, "{0:dd.MM.yyyy}")
答案 3 :(得分:0)
我发现它,对我有用。如果日期是您指定的格式,则允许发送表单:
@Html.TextBoxFor(m => m.Date, "{0:dd.MM.yyyy}")
<script type="text/javascript">
jQuery(function ($) {
$.validator.addMethod('date',
function (value, element) {
if (this.optional(element)) {
return true;
}
var ok = true;
try {
$.datepicker.parseDate('dd.mm.yy', value);
}
catch (err) {
ok = false;
}
return ok;
});
});
$("form").each(function () { $.data($(this)[0], 'validator', false); });
$.validator.unobtrusive.parse("form");
</script>