0
我有一個基本形式,它有一個日期字段,我想驗證它在IValidatableObject
內。該字段的類型被映射到DateTime屬性,因此如果某人在2011年2月26日輸入,那麼您如何在Validate方法中選擇該屬性?嚴格來說,它幾乎就像用一個沒有意義的DateTime驗證DateTime對象。關於如何解決這個問題或者如何檢測到錯誤日期的任何想法?MVC3 IValidatableObject日期
我有一個基本形式,它有一個日期字段,我想驗證它在IValidatableObject
內。該字段的類型被映射到DateTime屬性,因此如果某人在2011年2月26日輸入,那麼您如何在Validate方法中選擇該屬性?嚴格來說,它幾乎就像用一個沒有意義的DateTime驗證DateTime對象。關於如何解決這個問題或者如何檢測到錯誤日期的任何想法?MVC3 IValidatableObject日期
在您的方法上實施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驗證和jQueryUI的日曆客戶端
希望它可以幫助
您好我不想做一個日期字符串像你有。我想我已經解決了,如果日期無效,它似乎將自己設置爲DateTime.MinValue,這就是我需要檢查的全部內容。 – fes 2011-05-26 22:03:59