为复选框数组放置错误消息

我正在使用jQuery的validation插件,它可以创造奇迹。 除非我有一组复选框…错误消息将在第一个复选框后显示…如下所示:

替代文字

    <input type="checkbox" name="selectItems" value="" />      

—————————— EDITED ——————- ——

我发现我可以使用errorPlacement ,但我不知道如何在表格页脚或第二个字段集内的其他位置显示复选框数组的错误消息。

希望你能帮助我。

为什么不使用自定义validation方法? 像这样的东西:

jQuery的:

 // The custom validation method, returns FALSE (invalid) if there are // no checkboxes (with a .one_required class) checked $.validator.addMethod("one_required", function() { return $("#myform").find(".one_required:checked").length > 0; }, 'Please select at least one vehicle.'); $("#myform").validate({ // Use the built-in errorPlacement function to place the error message // outside the table holding the checkboxes if they are the ones that // didn't validate, otherwise use the default placement. errorPlacement: function(error, element) { if ($(element).hasClass("one_required")) { error.insertAfter($(element).closest("table")); } else { error.insertAfter(element); } } }); 

HTML:

 
NA245852

由于如果方法名称作为class存在,jQuery Validate插件也可以validation元素,只需在所有复选框上输出.one_required类。

通过多个复选框查看JSFiddle上的工作演示 。

编辑:

这是您自己的代码,实现了上述解决方案。

希望这可以帮助 !

您可以使用errorLabelContainer配置选项..定义一个id为errorMessagesdiv,然后更改您的validate方法调用,如下所示:

 $("form").validate({ errorLabelContainer: $("#errorMessages"), rules: ..... your rules 

现在所有错误消息都将显示在div中。 编辑:更新了以下答案以反映问题的更新:要更改显示的错误消息的位置,我可以考虑使用errorPlacement配置参数。 您可以使用以下内容:定义div或ap并继续将复选框的消息附加到此元素。

 $("form").validate({ errorPlacement:function(error,element) { if (element.attr("name") == "selectItems") { //Add Code to append the error message to a predefined element $("#errorDiv").html(""); $("#errorDiv").append(""); } else { error.insertAfter(element); } }, rules: ..... your rules }); 

jsFiddleurl: http : //jsfiddle.net/Z8hWg/28/

编辑:将您的JavaScript更改为如下: