jQuery.Validate - 如何把错误结果放在不同的地方?

问题描述:

我想把所有由jQuery.Validate生成的错误放在一个地方。jQuery.Validate - 如何把错误结果放在不同的地方?

例:

<input type="text" id="Text1" class=".name" /> 
    . 
    . 
    . 
    <input type="text" id="Text2" /> 
    <input type="text" id="Text3" /> 
    <input type="text" id="Text4" /> 

    <div id="errors"> I want to put errors results here! </div> 

我已经试图把这样的,但不工作:

jQuery('.name').rules('add', { 
     required: true, 
     messages: { 
      required: 'Type a name' 
     }, 
     errorElement: "div", 
     errorLabelContainer: "#errors" 
    }); 

任何帮助将是非常赞赏。

感谢

使用errorPlacement像这样:

errorPlacement: function(error, element) { 
    error.appendTo("#errors"); 
} 
+0

嗨克里斯,不能正常工作。 – robot11 2012-08-27 01:33:58

+0

它会每次追加内容! – 2013-09-23 11:22:01

你是正确的使用errorLabelContainer,但要设置jQuery验证方式似乎是错误的。您需要拨打validate表格而不是个别元素。这就是最终指定所有规则和消息的地方,以及errorLabelContainer。此外,你需要指定每个输入name属性(一个id属性是不够的):

所以,想象一下你的表格看起来像这样(中略时尚):

<form id="myFormId"> 
<input type="text" name="Text1" id="Text1" class=".name" /> 
</form> 

那么你将有JavaScript的是这样的:

$(document).ready(function(){ 
    $('#myFormId').validate({ 
     rules: { 
      Text1: { 
       required: true 
      } 
     }, 
     messages: { 
      Text1: { 
       required: 'Type a name' 
      } 
     }, 
     errorLabeLContainer: '#errors' 
    }); 
});