[英]How correctally validate DateTime in MVC Unobtrusive Validation?
我正在嘗試使用非侵入式驗證來驗證日期時間字段。
如果輸入是01/01/2017 10:00
那么我得到
字段 [fieldId] 必須是日期。
但是該字段不能是日期,而是日期時間。
在我的模型中參數設置如下:
[Display(Name = "Start")]
[DataType(DataType.DateTime)]
public DateTime start { get; set; }
我無法使用日期時間輸入正確驗證字段。
我怎樣才能做到這一點?
請記住,指定DataType
不會進行驗證。 它所做的只是向瀏覽器提供有關預期輸入類型的提示。 要驗證,請嘗試添加正則表達式驗證器,如下所示:
[RegularExpression(@"^((((31\/(0?[13578]|1[02]))|((29|30)\/(0?[1,3-9]|1[0-2])))\/(1[6-9]|[2-9]\d)?\d{2})|(29\/0?2\/(((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))|(0?[1-9]|1\d|2[0-8])\/((0?[1-9])|(1[0-2]))\/((1[6-9]|[2-9]\d)?\d{2})) (20|21|22|23|[0-1]?\d):[0-5]?\d$", ErrorMessage = "Date must be in the format of : dd/mm/yyyy hh:mm"]
[Display(Name = "Start")]
[DataType(DataType.DateTime)]
public DateTime start { get; set; }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.