正在修改 jQuery 验证消息

Modifing jQuery validation message

如何根据验证时使用的逻辑更改 jQuery 验证消息?我的尝试如下所示,但是,this.extra 显示为未定义。

$.validator.addMethod("someMethod", function(value, element, params) {
    //Logic to validate and determine message goes here...
    var valid=false;
    this.extra="bla";
    return valid;
    }, $.validator.format("message plus "+this.extra)
);

是的,你可以做到,但这有点棘手。您需要set attribute or use .data将您的信息与元素相关联。

$.validator.addMethod("someMethod", function(value, element, params) {
    //Logic to validate and determine message goes here...
    var valid=false;
    $(element).data('extra', "bla");
    return valid;
    }, function(params, element) {
      return $.validator.format("message plus " + $(element).data('extra'))
    }
);