【发布时间】:2021-09-21 19:04:46
【问题描述】:
我的模型有一个这样的日期字段:
[Display(Name = "Date of Birth")]
[Required(AllowEmptyStrings = false, ErrorMessage = "This field is required.")]
[Range(typeof(DateTime), "1/1/2000", "1/1/2010", ErrorMessage = "Date is out of Range")]
public string DOB { get; set; }
在我看来,我有这个字段:
@Html.TextBoxFor(m => m.DOB, new { @class = "form-control", @id = "dob", type = "Date" })
@Html.ValidationMessageFor(m => m.DOB)
日期始终无效,即使日期在范围内。
【问题讨论】:
-
尝试指定格式 DisplayFormat(DataFormatString = "{0:mm-dd-yyyy}", ApplyFormatInEditMode = true)]
-
@Nonik 感谢您的回复。使用 DisplayFormat 时得到相同的结果
-
您 DOB 是字符串类型,但您尝试验证 DateTime 类型。您可以制作自定义验证器或将字符串转换为 DateTime 并返回。
标签: c# asp.net-mvc validation data-annotations