如何将自定义消息添加到 jQuery 验证插件

How to add custom messages to jQuery validation plugin

我正在尝试为方法 "mustBeFigaro" 创建自定义消息。目前我收到的是电子邮件的默认消息,但不是我的促销代码自定义消息。

到目前为止,我已经能够更改插件代码中的现有消息,但无法添加新消息。

$(document).ready(function() {
$.validator.addMethod("mustBeFigaro", function(value, element) {
return (value.toLowerCase && (value.toLowerCase() === "figaro"));
},
"Please enter valid promo code."
);
$("#emailSubscription").validate({
ignore: ".ignore",
    rules: {
            email: {
                required: true,
                email: true
            },
    'entry.369082719': {
      required: true,
      mustBeFigaro:true
    }
        },
    submitHandler: function(form){
        $('#emailSubscription').toggle();
        form.submit();
        $('.hidden-message').show(500);
    }
})
});

代码笔:http://codepen.io/anon/pen/medgoQ?editors=101

您发布的 JavaScript 代码没有任何问题,jQuery 验证插件工作正常。问题是您的自定义 CSS 将错误消息隐藏在第二个 input 元素下。所以我从你的 CSS 中删除了所有 position 属性,然后允许元素在插入错误消息时移开。

演示:http://jsfiddle.net/okehhjr6/

更改您的自定义函数,

return (value.toLowerCase && (value.toLowerCase() === "figaro"));

至,

return (value.toLowerCase && (value.toLowerCase() === "figaro") &&  value != "" );