我爲DateTime創建了一個自定義驗證屬性,該屬性繼承自RequiredAttribute。出於某種原因,MVC中內置DateTime驗證的某種類型正在重寫我的自定義驗證,因爲當我輸入dd作爲日期的值時,我不斷收到錯誤消息「值'dd'對Date無效」。我如何得到它使用我的自定義驗證器,以便我自己的錯誤消息得到顯示呢?覆蓋DateTime的默認驗證
視圖模型
public class MyViewModel
{
[Required(ErrorMessage = "Name is required")]
[Display(Name = "Name")]
public string Name { get; set; }
[DateValidation(ErrorMessage = "A valid date is required")]
[Display(Name = "Date")]
public DateTime Date { get; set; }
}
驗證
public class DateValidationAttribute : ValidationAttribute
{
public override bool IsValid(object value)
{
DateTime dt;
return DateTime.TryParse(value.ToString(), out dt);
}
}
針對拉爾斯回答: 我如何得到它使用在我的模型,所以我可以的驗證屬性創建的錯誤信息爲使用相同驗證屬性的不同模型屬性創建不同的錯誤消息?
可以張貼代碼與您的屬性你的模型? – cdlong 2013-04-09 21:35:38
我已經發布了我的代碼的縮短版本 – RiceRiceBaby 2013-04-09 21:41:18