【问题标题】:Customize min and max error messages for jQuery unobtrusive validation [duplicate]自定义 jQuery 不显眼验证的最小和最大错误消息 [重复]
【发布时间】:2014-10-20 22:05:03
【问题描述】:

我正在使用设置了 min 和 max 属性的 HTML5 日期类型输入。

<input class="AccordionLeft" data-val="true" 
id="operationDate" max="2050-01-01" min="2014-09-02" 
name="OpDate" type="date" value="">

当我输入最小日期之前的日期时,我会从内置验证器中获得 jquery 验证消息。我想定制这个。 我们创建了几个自定义规则(通过自定义数据注释),对于我们的自定义验证规则,设置错误消息很简单。

内置验证器有类似的东西吗?

【问题讨论】:

  • @mplungjan - 我已尝试设置 HTML5 验证,但它不会更改错误消息。此外,如果我关闭 jQuery 验证,我不会再收到错误消息,所以看起来错误消息来自 jQuery 验证,而不是内置的 HTML5 输入验证。
  • 您是否尝试过寻找“jquery 自定义验证消息”? stackoverflow.com/questions/6777634/…
  • @mplungjan - 是的,我做到了,但由于规则是由不显眼的验证脚本创建的,我宁愿不要乱用它。
  • @mplungjan - 无论如何,我在下面找到了适合我的解决方案,所以感谢您抽出宝贵时间。
  • @mplungjan - 是的,我同意。

标签: jquery jquery-validate unobtrusive-validation asp.net-mvc-5.1


【解决方案1】:

经过一番挖掘后,我在 jQuery 验证源代码中找到了我想要的东西。在完整的 jQuery 验证下载中有一个“本地化”文件夹。在此文件夹中,为不同语言设置了默认错误消息。这正是我想要做的。

我将以下代码添加到我的自定义 JavaScript 验证文件中:

$.extend($.validator.messages, {
    min: 'Min some message {0}',
    max: 'Max some message {0}'
});

这会将默认消息替换为我需要的消息。 {0} 位用于格式化。 jQuery validate 将其替换为 Min / Max 属性中的值。

【讨论】:

    猜你喜欢
    • 2014-06-07
    • 2011-07-22
    • 2018-02-08
    • 1970-01-01
    • 1970-01-01
    • 2013-10-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多