jQuery验证:如何实现更友好的错误消息警报?

时间:2015-05-18 09:13:27

标签: javascript jquery jquery-validate

与SO的问答形式提醒消息: Body must be at least 30 characters; you entered 3. 一样,最后一个数字显示当前的字符数。为此,我认为我需要计算数字并附加错误消息,我可以将数字附加到errorPlacement的第一个参数error,如下所示: http://jsfiddle.net/sscs1kbx/5/

errorPlacement: function(error, element) {
  var placement = $(element).data('error');
  if (placement) {
     error.append(CKEDITOR.instances.editor1.getData().replace(/<[^>]*>/g, '').length);
    $(placement).append(error)
  } else {
    error.insertAfter(element);
  }
}

当用户第一次点击提交按钮时我工作正常,但是errorPlacement在第一次提交时只调用一次,那么,之后,我的工作失败了吗?我应该使用哪种方法或功能来实现这一目标?非常感谢提前!

1 个答案:

答案 0 :(得分:1)

您可以在addMethod("minlengthxo",...)

中指定动态错误消息
jQuery.validator.addMethod("minlengthxo", function (value, element, param) {
    debugger
    originalVal = CKEDITOR.instances.editor1.getData().replace(/<[^>]*>/g, '');
    var length = $.isArray(originalVal) ? value.length : this.getLength(originalVal, element);
    return length >= param;
}, function (params, element) {
    enteredLength = CKEDITOR.instances.editor1.getData().replace(/<[^>]*>/g, '').length;
    return 'You need input at least 18 characters, now you entered ' + enteredLength
});

这是live exemple