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