0

我想将 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"
    });

任何帮助将不胜感激。

谢谢

4

2 回答 2

2

像这样使用errorPlacement:

errorPlacement: function(error, element) {
    error.appendTo("#errors");
}
于 2012-08-16T13:44:26.337 回答
0

您使用是正确的errorLabelContainer,但是您设置 jQuery Validate 的方式似乎是错误的。您需要调用表单validate而不是单个元素。这就是您最终指定所有规则和消息的地方,以及. 此外,您需要在每个输入上指定属性(一个属性是不够的):errorLabelContainernameid

所以想象你的表格看起来像这样(缩写形式):

<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'
    });
});
于 2012-08-20T15:12:21.283 回答