如何在jQuery验证程序中为一个规则添加一条自定义消息,为所有其他规则添加默认消息[重复]

问题描述 投票:0回答:1

我想为一个规则显示自定义消息,为所有其他规则显示默认消息。例如:

$("#form").validate({
        rules: {
            "ref": {
                required: true,
                minlength: 5,
                maxlength: 5,
                number: true
            }
        },
        messages: {
            "ref": {
                required: "Please, enter a reference",
                default: 'Please enter exact 5 numbers only'
            }
        }
   });

但是,它不起作用。如果我针对所有其他规则(例如:)>重复此消息,则此方法有效

messages: {
   "ref": {
      required: "Please, enter a reference",
      minlength: 'Please enter exact 5 numbers only',
      maxlength: 'Please enter exact 5 numbers only',
      number: 'Please enter exact 5 numbers only'
    }
}

重复所有其他规则的消息只是实现这一目标的方法,还是有更好的方法?

$("#form").validate({
        rules: {
            "ref": {
                required: true,
                minlength: 5,
                maxlength: 5,
                number: true
            }
        },
        messages: {
            "ref": {
                required: "Please, enter a reference",
                default: 'Please enter exact 5 numbers only'
            }
        },
        submitHandler: function (form) { // for demo
            console.log('valid form submitted'); // for demo
            return false; // for demo
        }
    });
body {
    padding: 20px;
}

label {
    display: block;
}

input.error {
    border: 1px solid red;
}

label.error {
    font-weight: normal;
    color: red;
}

button {
    display: block;
    margin-top: 20px;
}
<link rel="stylesheet" href="http://netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.0/jquery.validate.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.0/additional-methods.js"></script>

<form id="form" method="post" action="#">
    <label for="name">Reference</label>
    <input type="text" name="ref" id="ref" />
    <button type="submit">Submit</button>
</form>

我想为一个规则显示自定义消息,为所有其他规则显示默认消息。例如:$(“#form”)。validate({规则:{“ ref”:{必需:true,...

javascript jquery jquery-validate
1个回答
1
投票

您可以按如下所示提供defaut消息,这将适用于所有验证(此处,number规则的消息为静态,maxlengthminlength消息为动态):

© www.soinside.com 2019 - 2024. All rights reserved.