我正在使用jQuery Validate Plugin验证我网站上的表格。我想更改默认值 minlength
消息显示该字段中仍然需要的字符数,并且该数字随着用户在 input
中的输入而改变。字段。
例如,如果 minlength
规则为 15 个字符,并且该字段中有 2 个字符,错误消息将显示为 "Please enter at least 13 more characters."
为了简单起见,这是我的 jQuery。 下面的所有代码放在一起时都无法按预期运行,因此我需要一个可行的解决方案
这是 fiddle :http://jsfiddle.net/ac2T2/1/
这是我的代码:
$('#contactForm').validate({
rules: {
contactName: {
minlength: 15
}
}
});
我想添加一些代码来执行如下操作:
var numOfCharactersToGo = 15 - parseInt($('contactName').val().length);
然后理论上我可以将我的默认 jQuery 消息更改为 minlength
如下所示:
jQuery.extend(jQuery.validator.messages, {
minlength: jQuery.validator.format('Please enter at least ' + numOfCharactersToGo + ' more characters.')
});
最佳答案
感谢 @Sparky 的回答引导我走向正确的方向,这是最终答案,以防其他人想要相同的功能。
这是 fiddle :http://jsfiddle.net/ZhRGA/8/
HTML
<form id="myform">
<input type="text" name="field1" id="field1" />
<br/>
<input type="submit" />
</form>
jQuery
$(document).ready(function () {
var minChar = 15;
$('#myform').validate({ // initialize the plugin
rules: {
field1: {
required: true,
minlength: minChar
}
},
messages: {
field1: {
minlength: function () {
return [
(minChar - parseInt($('#field1').val().length)) +
' more characters to go.'];
}
}
}
});
});
关于jQuery 验证插件 - 在错误消息中显示 minlength "Characters to go",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15302005/