【发布时间】:2015-02-13 11:57:18
【问题描述】:
我只想在提交时接受 ddMMyyyy 格式的日期。但它给出了一个错误,如
FromDate 字段必须是日期。
但是,当我在 MMddyyyy 中输入日期时,它会自动接受 pkkttrfg。
我的模型是
public class CompareModel
{
[Required]
[DisplayFormat(DataFormatString = "{0:dd-MM-yyyy}", ApplyFormatInEditMode = true)]
public DateTime FromDate { get; set; }
[Required]
[DisplayFormat(DataFormatString = "{0:dd-MM-yyyy}", ApplyFormatInEditMode = true)]
public DateTime TODate { get; set; }
}
我的视图部分是
<div class="form-group">
@Html.LabelFor(model => model.FromDate, new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.FromDate)
@Html.ValidationMessageFor(model => model.FromDate)
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.TODate, new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.TODate)
@Html.ValidationMessageFor(model => model.TODate)
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Create" class="btn btn-default" />
</div>
</div>
【问题讨论】:
-
您可以查看使用 jquery globalize 或根据
$.validator添加方法到 this answer - 请注意,该解决方案适用于 jquery ui datepicker,但可以针对标准文本框进行调整(例如 split将值放入其组件中,构造一个新的 javascriptDate()对象并测试其是否有效)
标签: asp.net-mvc unobtrusive-validation