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

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

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

到目前为止,我们对所有 required 字段(即 'This field is 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:

"I am looking for a similar solution to that of HTML 5 attributes - where I can specify a custom attribute to my input fields, the plugin will pick up the message from that field itself."

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

您将为自定义消息使用 HTML5 属性。由于 HTML5 验证被 jQuery 验证插件动态禁用,因此 HTML5 数据属性简单地成为自定义属性。