jQuery 验证自定义错误消息

jQuery validation custom error message

我似乎无法获得 jQuery 验证以使用针对正在验证的输入字段保留的 data-val-lookup 属性:

这是我用来添加验证 class 规则的代码。

$(function () {
    $.validator.addMethod('lookup', function (value, element, params) {
        var hiddenId = $(element).attr("id");
        var textBoxId = hiddenId + "_LookupText";
        return !(($('#' + hiddenId).val() == "") && ($('#' + textBoxId).val() != ""));
    });

    $.validator.addClassRules('lookup', { lookup: true });
});

这是我的查找输入字段:

<input class="lookup" data-val="true" data-val-lookup="Campaign must be a valid lookup item" data-val-number="The field Campaign must be a number." id="CampaignId" name="CampaignId" type="text" value="" />

<input type="text" id="CampaignId_LookupText" class="form-control" name="CampaignId_LookupText" />

验证有效,但我收到 "Warning: No message defined for CampaignId" 而不是消息。

我可以指定默认消息...但它需要特定于字段(包含字段名称)。

如果我向该字段添加一个 "title" 属性,它将使用此作为错误消息...但我希望它使用 data-val-myvalidation 代替,因为这似乎是惯例。

谢谢

应该是data-msg-<rule>

data-msg-lookup="Campaign must be a valid lookup item"

customMessage方法如下

customDataMessage: function (element, method) {
    return $(element).data("msg" + method[0].toUpperCase() + method.substring(1).toLowerCase()) || $(element).data("msg");
},