我有一个包含日期字段的基本表单,我想在IValidatableObject
. 该字段的类型映射到 DateTime 属性,因此如果有人输入 26/15/2011,您如何在 Validate 方法中选择它?严格来说,它几乎就像用没有意义的 DateTime 验证 DateTime 对象。关于如何解决这个问题或如何检测到错误日期的任何想法?
问问题
473 次
1 回答
1
在您的方法上实现 IValidatableObject 并对此字段进行验证
例如
public class YourModel : IValidatableObject
{
public YourModel()
{
}
[Required(ErrorMessage = "date is required")]
public string Date { set; get; }
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
DateTime result;
bool parseDone = DateTime.TryParse(Date, out result);
if (!parseDone)
{
yield return new ValidationResult(Date + "is invalid", new[] { "Date" });
}
}
}
我建议在客户端使用 jquery validate 和 jqueryUI calendar
希望能帮助到你
于 2011-05-26T22:00:13.100 回答