【问题标题】:How to customize error message of maxlength with jQuery validate to show number of entered characters如何使用 jQuery 验证自定义最大长度的错误消息以显示输入的字符数
【发布时间】:2009-07-30 13:43:54
【问题描述】:

我希望 jQuery validate 的 maxlength 验证显示如下错误消息:

“请输入不超过 {0} 个字符。您当前已输入 {1} 个字符。”

其中{1} 是实际金额的占位符。 最好的方法是什么?

【问题讨论】:

    标签: jquery validation custom-errors


    【解决方案1】:

    我认为没有一种简单的方法可以做到这一点,但我为您找到了解决方法。我想您可以为该字段编写自己的验证器,但这可能更简单。

    首先更改maxlength 错误的默认消息:

    $.extend($.validator.messages, {  
        maxlength: $.validator.format("Please enter no more than {0} characters. You've currently entered CHARS_NO characters.")
    });
    

    像往常一样保持验证,但添加这个函数:

    $('input').keyup(function () {
        var rules = $(this).rules();
        if (rules.maxlength !== undefined && !$(this).valid()) {
            var errorLabel = $('label[for=' + $(this).attr('id') + '][generated=true].error');
            errorLabel.text(errorLabel.text().replace('CHARS_NO', $(this).val().length));
            return false;
        }
    });
    

    这是给你的working demo

    【讨论】:

      【解决方案2】:

      我不确定您是如何触发验证的,但input 上的maxlength 属性将阻止用户输入比该值指示的字符更多的字符。因此,没有必要通知用户他们输入的字符多于maxlength,因为他们根本做不到。

      您能否提供更多上下文和/或详细信息?

      【讨论】:

      • 它用于文本区域,无法限制您可以输入的实际字符数。另请注意,我正在使用 jQuery 的验证插件。
      猜你喜欢
      • 1970-01-01
      • 2018-02-08
      • 2017-06-20
      • 2021-06-01
      • 2022-11-22
      • 1970-01-01
      • 2019-11-29
      • 2014-10-20
      • 1970-01-01
      相关资源
      最近更新 更多