jQuery验证插件 - 单选按钮问题

1 javascript validation jquery

我正在使用jQuery验证插件来验证我的页面中的一些表单.除了一些单选按钮外,它工作顺利.

我有以下代码:

$("#theForm").validate({
  "rules": {
    "r1" : "required"
  },
  "messages" : {
    "r1" : {
       "required" : "foo"
    }
  }
});
............
............
<input type="radio" name="r1" value="1" /> 
<input type="radio" name="r1" value="2" /> 
<input type="radio" name="r1" value="3" />
Run Code Online (Sandbox Code Playgroud)

验证有效但"foo"消息显示在第一个和第二个单选按钮之间.那不行.在最后一个单选按钮后我想要它.

没问题我想,在最后一个单选按钮后添加我自己的标签:

<input type="radio" name="r1" value="1" /> 
<input type="radio" name="r1" value="2" /> 
<input type="radio" name="r1" value="3" />
<label for="r1" class="error" style="display:none">bar</label>
Run Code Online (Sandbox Code Playgroud)

它有效,但显示"bar"消息.我不希望这样,我希望我的所有消息都在验证规则内,所以我该怎么做?

如何在最后一个单选按钮之后放置错误消息并使其使用规则中的消息(即"foo")?

Vad*_*dim 6

您可以在设置选项时使用errorPlacement回调. http://docs.jquery.com/Plugins/Validation/validate#toptions

errorPlacement: function(error, element) {
   if (element.attr('type') === 'radio') {
      error.insertAfter(
          element.siblings('input[type="radio"][name="' + element.attr('name') + '"]:last'));
   }
   else {
      error.insertAfter(element);
   }
}
Run Code Online (Sandbox Code Playgroud)