jQuery Validation插件 - 自定义消息

Det*_*tor 31 jquery jquery-validate

我是JQuery的新手,并且正在使用JQuery验证插件.

我想问一下,如何覆盖默认消息以显示与表单元素关联的标签中的文本.

我会得到这样的消息:

字段密码是必需的.而不是默认此字段是必需的.

Field PostCode必须至少包含3个字符.而不是默认请输入至少3个字符.

我需要覆盖此插件的默认行为,因为我不想为每种类型的验证指定每个项目的自定义消息.

可能吗?

She*_*hef 45

$("#signupform")
    .validate({
        rules: {
            password: "required",
            postcode: {
                required: true,
                minlength: 3
            }
        },
        messages: {
            password: "Field Password is required",
            postcode: {
                required: "Field PostCode is required",
                minlength: "Field PostCode must contain at least 3 characters" 
            }
    });
Run Code Online (Sandbox Code Playgroud)

  • 也可以通过这种方式为特殊输入设置特殊消息:`data-msg-required ="请输入您的电子邮件地址"`或`data-msg-email ="请在html标记中输入有效的电子邮件地址". (3认同)

use*_*267 17

这是我几天前在寻找同样的东西时发现的.不幸的是我不记得我在哪里找到它,所以我不能给那个写答案信用的人.

jQuery.extend(jQuery.validator.messages, {
    required:"This field is required.",
    equalTo:"Password fields do not match.",
    email:"Please enter a valid email.",
});
Run Code Online (Sandbox Code Playgroud)


det*_*ale 8

有一种更简洁的方法来实现这一目标.

使用" data-msg "或" data-msg-(rulename)"覆盖预定义规则或自定义规则的默认错误消息.(经过jQuery验证v1.11.0,目前为v1.16.0)

<input id="pwd" name="pwd" type="password" value=""
       required
       data-msg-required="Field Password is required." />

<input id="postcode" name="postcode" type="text" value=""
       required
       data-msg-required="Field PostCode is required."
       minlength="3"
       data-msg-minlength="Field PostCode must contain at least 3 characters." />
Run Code Online (Sandbox Code Playgroud)