如何为我的 jquery validate 自定义函数制作一条中心消息?
Posted
技术标签:
【中文标题】如何为我的 jquery validate 自定义函数制作一条中心消息?【英文标题】:How can I make one central message for my jquery validate custom function? 【发布时间】:2011-11-29 18:30:33 【问题描述】:我正在使用jquery validate plugin 来验证我的表单。我需要验证一个部分的 1 个字段是否已填写。这是我使用的代码: http://blog.rebeccamurphey.com/2009/04/15/jquery-validation-indicate-that-at-least-one-element-in-a-group-is-required/
所以,我有几个带有“required_group”类的表单字段,以及我的 document.ready 函数中的以下代码行:
jQuery.validator.addMethod('required_group', function(value, element)
var $module = $(element).parents('div.panel');
return $module.find('.required_group:filled').length;
,
"Please fill out at least one of these fields");
jQuery.validator.addClassRules('required_group', 'required_group':true);
这按应有的方式工作。但是 - 我发现组中的每个字段都显示“请至少填写其中一个字段”消息有点混乱。我希望在组的顶部有一条消息。如何使用 validate 插件完成此操作?有什么方法可以自定义我希望消息显示的位置吗?
【问题讨论】:
【参考方案1】:使用 showErrors 选项定义您自己的消息显示功能。来自documentation:
showErrors 回调默认值:无,使用内置消息显示。
自定义消息显示处理程序。获取错误地图作为第一个 参数和错误数组作为第二个,在上下文中调用 验证器对象。参数仅包含那些元素 当前已验证,在执行时可以是单个元素 验证 onblur/keyup。你可以触发(除了你自己的 messages) 调用 this.defaultShowErrors() 的默认行为。
编辑:这是一个fiddle,或多或少可以满足您的需求。
【讨论】:
不确定我是否知道这是如何工作的...您能否提供一些示例代码来说明我正在尝试完成的工作? 添加了 jsfiddle 示例。这只是显示基本原理,您需要像往常一样调整代码以显示其他错误消息。 感谢您花时间为我整理这些!但是,在我看来这很复杂......我还有许多其他简单的验证规则等我想正常运行。有没有更简单的方法? 我不知道。但我并没有真正看到这里的复杂性。按照我的建议使用自定义 showErrors 函数,对具有“required_group”类的元素使用自定义错误消息,并对所有其他元素使用默认行为。检查 defaultShowErrors 函数的默认行为。以上是关于如何为我的 jquery validate 自定义函数制作一条中心消息?的主要内容,如果未能解决你的问题,请参考以下文章
jQuery validate:如何为正则表达式验证添加规则?
使用 Jquery Validation 添加自定义错误消息