jQuery Validation插件 - 自定义消息

时间:2011-07-21 14:24:52

标签: jquery jquery-validate

我是JQuery的新手,正在使用JQuery validation plugin

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

我会收到类似这样的消息:

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

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

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

有可能吗?

5 个答案:

答案 0 :(得分: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" 
            }
    });

答案 1 :(得分:17)

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

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

答案 2 :(得分: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." />

答案 3 :(得分:4)

我需要做同样的事情,最后创建一个自定义方法,以便可以跨多个表单共享其消息。

我在类似的Stack Overflow问题中找到了这个答案:How can we specify rules for jquery validation plugin by class?

$.validator.addMethod(
    "newEmail", //name of a virtual validator
    $.validator.methods.email, //use the actual email validator
    "Custom error message"
);

答案 4 :(得分:1)

在插件后添加:

jQuery.extend(jQuery.validator.messages, {
    required: "Your new default message",
    email: "That's not a valid email"
});

如果需要,可以将它放在一个单独的文件中,但要确保它包含在插件本身之后