如果错误在jQuery中超过maxlength,如何指示错误?

如果错误在jQuery中超过maxlength,如何指示错误?,jquery,jquery-validate,Jquery,Jquery Validate,在我的表单中,我对输入字段使用了maxlength,还使用jquery.validate.js来指示一些错误消息 如果我在html中单独使用了maxlength,则只会出现小的弹出窗口 如果我单独使用validate,我将得到正确的错误消息,但用户可以输入超过限制的信息 尽管如此,我不希望这些场景实际上 我需要的是,一旦到达其maxlength,它应该显示一条错误消息,并且不允许用户输入超过40个字符 我不想使用jquery自定义函数,比如keyup上的计算 我已尝试使用以下代码: <

在我的表单中,我对输入字段使用了
maxlength
,还使用jquery.validate.js来指示一些错误消息

  • 如果我在html中单独使用了
    maxlength
    ,则只会出现小的弹出窗口
  • 如果我单独使用validate,我将得到正确的错误消息,但用户可以输入超过限制的信息
尽管如此,我不希望这些场景实际上

我需要的是,一旦到达其
maxlength
,它应该显示一条错误消息,并且不允许用户输入超过40个字符

我不想使用jquery自定义函数,比如keyup上的计算

我已尝试使用以下代码:

<form id="myForm">
<input name="myName" required maxlength="40" />
</form>
  • 输入
    元素中删除HTML5属性。如果已经在
    .validate()
    中声明了相同的规则,则不需要它们。我认为自动HTML5浏览器验证消息让您在对损坏的jQuery验证进行故障排除时感到困惑

  • 使用
    消息
    选项指定自定义消息时,必须同时指定输入的
    名称
    ,类似于
    规则
    选项格式。在
    消息中
    只有规则名称是可选的。换句话说,您可以在输入
    name
    本身上放置自定义消息,它将自动应用于该输入的所有规则。但是,不能像以前那样将自定义消息放置在未分配给输入的规则上

否则,我看不出你的代码有问题

演示:

HTML

<form id="myForm">
    <input name="myName" />
</form>
$(document).ready(function () {
    $("#myForm").validate({
        rules: {
            myName: {
                required: true,
                maxlength: 40
            }  // <-- removed trailing comma
        },
        messages: {
            myName: {  // <-- need input name
                maxlength: "You crossed a maximum limit"
            }
        }
    });
});

jQuery

<form id="myForm">
    <input name="myName" />
</form>
$(document).ready(function () {
    $("#myForm").validate({
        rules: {
            myName: {
                required: true,
                maxlength: 40
            }  // <-- removed trailing comma
        },
        messages: {
            myName: {  // <-- need input name
                maxlength: "You crossed a maximum limit"
            }
        }
    });
});
$(文档).ready(函数(){
$(“#myForm”)。验证({
规则:{
我的名字:{
要求:正确,
最大长度:40

}//对不起,也许我没有完全理解您的问题。maxlength已经有助于防止用户添加超过40个字符,对吗?如果您的元素具有
maxlength=“40”
然后用户不能正确输入超过40个字符。是的,这是正确的。但当用户尝试输入超过40个字符时,我需要向用户显示错误消息