如何批量替换jQuery Validate中的默认必填项错误提示信息?
批量替换jQuery Validate必填项错误提示的正确方法
嘿,我懂你想一次性修改所有必填地址输入框的错误提示、不想挨个字段写重复代码的需求!你之前的写法没生效,是因为messages选项的结构不符合jQuery Validate的要求——它没法直接识别你写的required: "ASDSA"这种全局式配置。下面给你两种靠谱的解决方案,选一个适合你的就行:
方法一:全局修改插件默认提示(最省心的批量方案)
如果你希望所有使用必填规则的字段都用同一个提示,直接修改插件的全局默认值就好,这样不用在表单验证配置里额外写messages,代码最简洁:
$(document).ready(function() { // 先覆盖全局的必填项默认提示 $.validator.messages.required = "ASDSA"; // 再初始化表单验证 $('#frm').validate({ rules: { street: { required: true }, city: { required: true }, province: { required: true }, // 其他需要验证的字段... } // 这里不需要额外配置messages了! }); });
这个方法的好处是,不管你后续加多少个必填字段,都会自动使用这个新提示,完全不用重复写代码。
方法二:针对当前表单批量配置(不影响全局)
如果你只想让这个表单的必填字段用自定义提示,不想修改全局默认值,可以先定义一个通用提示变量,然后在messages里对应每个字段的required规则:
$(document).ready(function() { const requiredErrorMessage = "ASDSA"; $('#frm').validate({ rules: { street: { required: true }, city: { required: true }, province: { required: true }, // 其他字段... }, messages: { street: { required: requiredErrorMessage }, city: { required: requiredErrorMessage }, province: { required: requiredErrorMessage }, // 其他字段同理 } }); });
为什么你之前的代码没效果?
你之前写的messages: { required: "ASDSA" }不符合插件规则——jQuery Validate的messages选项需要以字段名为键,每个字段对应自己的规则提示,而不是直接写规则名作为键。所以插件根本识别不了你这个配置,自然没反应啦。
内容的提问来源于stack exchange,提问作者inNeedOfHelp
相关产品推荐
相关产品推荐

