来自元素属性的自定义错误消息:jQuery 验证插件

Custom error message from element's attribute : jQuery Validate Plugin

本文关键字:消息 jQuery 验证 插件 错误 自定义 元素 属性      更新时间:2023-09-26

我们使用jQuery Validate Plugin进行所有客户端验证。

到目前为止,我们对所有required字段都使用默认错误消息(即"此字段是必需的"),但现在我们需要将其更改为特定于字段的错误消息。例如,如果用户未输入名字,则消息应显示为Please enter first name,依此类推。

这些是我们尝试过的可能性:

  1. 使用 HTML 5 属性data-rule-required="true"data-msg-required="Madam/sir, this field is required." .由于其他一些限制,我们必须避免使用 HTML 5 属性。

  2. 在验证表单时提供messages对象: messages: { username: {required: "Please enter Username",email: "Enter valid Email"}, password: "Please enter Password" }, 这种方法的缺点是我们需要修改 html 和 javascipt 文件,并且字段名称必须同步才能正确激活插件。

我正在寻找与 HTML 5 属性类似的解决方案 - 我可以为我的输入字段指定自定义属性,插件将从该字段本身获取消息。像这样:

<input type="text" required errorMessageCustomAttr="Please enter first name" />

我已经提到了相关的SO问题,但找不到任何解决方案。有什么办法可以做到这一点吗?

引用 OP

"我正在寻找与 HTML 5 属性类似的解决方案 - 我可以为我的输入字段指定自定义属性,插件将从该字段本身获取消息。"

答案是"否",这不是插件的选项。

您将对自定义消息使用 HTML5 属性。 由于 HTML5 验证是由 jQuery Validate 插件动态禁用的,因此 HTML5 数据属性只是变成了一个自定义属性。