1

我尝试使用自定义错误消息,但是当出现错误时,当我按下正文或按钮errorPlacement时,它会不断重复。Send Message

下面是我的 jQuery 代码,这是我的jsfiddle

   $(document).ready(function () {
       $("#myform").validate({
           rules: {
               message: {
                   required: true,
                   minlength: 5,
                   maxlength: 753
               }
           },
           debug: true,
           errorPlacement: function (error, element) {
               error.appendTo('#invalid');
           },
           messages: {
               message: {
                   required: "Enter your text message",
                   minlength: jQuery.format("Enter at least {0} characters"),
               }
           }
       });
   });
4

3 回答 3

3

errorLabelContainererrorPlacement如果您希望错误在特定容器中而不是在每个输入元素旁边,请使用而不是。

您的 jsFiddle 已修改:http: //jsfiddle.net/mXm4N/

$(document).ready(function () {
    $("#myform").validate({
        rules: {
            message: {
                required: true,
                minlength: 5,
                maxlength: 753
            }
        },
        errorLabelContainer: '#invalid',
        messages: {
            message: {
                required: "Enter your text message",
                minlength: jQuery.format("Enter at least {0} characters"),
            }
        }
    });
});

HTML

<div id="invalid"></div>
<form>
    ...
</form>
于 2013-02-27T16:04:05.563 回答
1

id 无效的元素必须包含在您的表单中。

如果您使用下面的 errorPlacement,插件仅在表单中查找元素,它找不到它,只会插入另一个元素。

errorPlacement: function (error, element) {
  // element with id=invalid must be within the form being validated,
  // otherwise use errorLabelContainer
  error.appendTo('#invalid');
}

如果您尝试自己获取错误列表,而不是将它们放在字段旁边,请使用 errorLabelContainer。

于 2013-02-27T15:40:28.670 回答
0

看看这个页面:

http://docs.jquery.com/Plugins/Validation

并阅读有关递归和提交处理程序的信息——这可能会有所帮助。

于 2013-02-27T14:11:45.477 回答