【问题标题】:HTML 5 Max and Min error message localizationHTML 5 Max and Min 错误消息本地化
【发布时间】:2017-02-15 13:41:14
【问题描述】:

我有 aps.net MVC 项目,我必须在用户端设置日期输入范围,我使用 jquery 脚本手动执行此操作。今天发现 html 5 属性 min 和 max,它们对限制日期值非常有效,错误显示在 @Html.ValidationMessageFor 元素中,但唯一的问题是 - 我无法本地化它。 我现在的日期字段代码:

<td>@Html.EditorFor(m => m.EndDate, new { htmlAttributes = new { @class = datepicker" ", id = "EditorForTillDate", max@="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; }

有可能吗?

【问题讨论】:

  • 如果你使用maxmin 属性,你如何得到你的错误?使用脚本和控制器显示您的整个视图
  • @teovankot、maxmin 是浏览器验证属性。该脚本不需要他们执行验证。考虑一下:&lt;input type="number" min="0" max="5" name="atMost5" /&gt;
  • @Charles 我知道。我的问题是 - OP 实际上试图本地化什么?我在他发布的代码中看不到任何内容。这就是为什么我想看到控制器和视图

标签: javascript html asp.net asp.net-mvc razor


【解决方案1】:

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 时设置(这是服务器端的机制)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-01
    • 2021-06-28
    • 1970-01-01
    相关资源
    最近更新 更多