是否有任何MVC 5的默認驗證,我可以設置日期的最小值和最大值?MVC模型驗證日期
在我的模型,我想日期驗證
public class MyClass
{
[Required(ErrorMessage="Start date and time cannot be empty")]
//validate:Must be greater than current date
[DataType(DataType.DateTime)]
public DateTime StartDateTime { get; set; }
[Required(ErrorMessage="End date and time cannot be empty")]
//validate:must be greater than StartDate
[DataType(DataType.DateTime)]
public DateTime EndDateTime { get; set; }
}
PS:根據這個Asp.Net Website,存在使用Range
驗證的日期時間的問題,並且不建議。
注:jQuery驗證不與Range屬性和 DateTime的工作。例如,下面的代碼將始終顯示 客戶端驗證錯誤,即使在日期是 指定範圍:
[Range(typeof(DateTime), "1/1/1966", "1/1/2020")]
你需要禁用jQuery的日期驗證使用range屬性約會時間。在您的模型中編譯日期很難,因此不鼓勵使用Range屬性和日期時間 。
我也知道,還有的NuGet包,比如Fluent Validation和Foolproof該做的伎倆用於驗證和檢查,如果一個日期比另一種更大的,但我想知道,如果在默認情況下有東西,檢查日期的最小值和最大值。
從我在Whats new in MVC 5.1看到的,有支持MaxLength
和MinLength
驗證。
你可以做一個[自定義驗證](http://stackoverflow.com/questions/27182606/asp-mvc-5-client-validation-for-range-of- datetimes?noredirect = 1&lq = 1) – Shadetheartist
http://stackoverflow.com/questions/40543473/range-limt-for-datetime-and-date-field-in-mvc/40544222#40544222看到這個答案 –