2017-02-15 50 views
0

我有aps.net MVC項目,我必須在用戶端設置日期輸入的範圍,我正在用jQuery腳本手動執行此操作。今天發現HTML 5屬性最小和最大,這與限制日期值很好,錯誤顯示在@Html.ValidationMessageFor元素,但唯一的麻煩是 - 我不能本地化它。 代碼我現在有我的日期字段:HTML 5最大和最小錯誤消息本地化

<td>@Html.EditorFor(m => m.EndDate, new { htmlAttributes = new { @class = datepicker" ", id = "EditorForTillDate", [email protected]="20.12.2018" } })</td> 
<td style="width:10%">@Html.ValidationMessageFor(m => m.EndDate, "", new { @class = "text-danger" })</td> 

和型號:

[Display(Name = "end_date", ResourceType = typeof(Localization))] 
[DateWorkExpAttribute(ErrorMessageResourceType = typeof(Localization), ErrorMessageResourceName = "error_end_date_invalid")] 
public Nullable<System.DateTime> EndDate { get; set; } 

它甚至有可能?

+0

[ASP網絡MVC - 驗證消息的本地化]可能的重複(http://stackoverflow.com/questions/36353265/asp-net-mvc-localization-of-validation-messages) – krillgar

+0

如何得到您的錯誤如果你使用'max'和'min'屬性?用腳本和控制器顯示您的整個視圖 –

+0

@teovankot,'max'和'min'是瀏覽器驗證屬性。該腳本不需要他們執行驗證。考慮一下:' – Charles

回答

0

ValidationMessageFor會工作時,你的模型中添加Date annotations爲你的例子是:

[Display (Name = "end_date" ResourceType = typeof (Localization))] 
[DateWorkExpAttribute (ErrorMessageResourceType = typeof (Localization), ErrorMessageResourceName = "error_end_date_invalid")] 
[StringLength (255 MinimumLength = 3, ErrorMessage = "* Part descriptions must be between 3 and 255 characters in length.")] 
[Required (ErrorMessage = "This value is empty !! It's not correctly")] 
public Nullable <System.DateTime> EndDate {get; set; } 

對HTML 5的屬性ValidationMessegeFor不會工作,因爲它僅僅是HTML 5屬性的客戶端站點。 ValidationMassegeFor將在控制器post方法返回時設置爲ModelState.IsValid false(它是服務器端的機制)。