如何使用jQuery validate自定义maxlength错误消息以显示输入的字符数

如何使用jQuery validate自定义maxlength错误消息以显示输入的字符数,jquery,validation,custom-errors,Jquery,Validation,Custom Errors,我希望jQuery validate的maxlength验证显示如下错误消息: “请输入不超过{0}个字符。您当前输入了{1}个字符。” 其中,{1}是实际金额的占位符。 最好的方法是什么?我不确定您是如何触发验证的,但是输入上的maxlength属性将阻止用户输入超过该值指示的字符数。因此,无需通知用户他们输入的字符数超过了maxlength,因为他们根本无法做到这一点 您能提供其他上下文和/或详细信息吗?我认为没有简单的方法可以做到这一点,但我为您找到了一个解决方法。我想您可以为该字段编写自

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

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

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

我不确定您是如何触发验证的,但是
输入
上的
maxlength
属性将阻止用户输入超过该值指示的字符数。因此,无需通知用户他们输入的字符数超过了
maxlength
,因为他们根本无法做到这一点


您能提供其他上下文和/或详细信息吗?

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

首先更改
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;
    }
});

这是为您准备的。

它用于无法限制实际输入字符数的文本区域。还要注意,我正在使用jQuery的验证插件。