2017-02-15 51 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(它是服务器端的机制)。