jquery-validation-unobtrusive: 在摘要和标签中显示不同的错误信息

jquery-validation-unobtrusive: Display Different Error Messages in Summary and Label

我想在复选框后的错误摘要和标签中显示同一控件的不同错误消息。

如果没有勾选复选框,

在摘要中,我想显示 "You must tick the Copyright Confirmation checkbox to continue."

在相邻的复选框标签中,我想显示"must check to continue"

js:

$.validator.addMethod("chkCopyright", function (value, element) {
        return $('#chkCopyright').is(':checked');
    }, "You must tick the Copyright Confirmation checkbox to continue.");

html代码:

<label class="checkbox-inline">
     <input type="checkbox" name="chkCopyright" data-rule-chkCopyright="true" value="1" data-msg-chkCopyright="must check to continue"> I confirm that there are no copyright restrictions on this repro request. <span class="text-danger field-validation-valid" data-valmsg-for="chkCopyright" data-valmsg-replace="true"> </span>
</label>

但是当验证失败时,data-msg 中的消息正在超车并显示在错误摘要中。

如何在两个地方显示不同的错误消息?

How can I show different error messages in both places?

此插件没有提供任何程序或方法来让两个完全不同的错误消息都代表同一字段的相同规则。期间.


可能的解决方法?...

您可以利用 the showErrors function 在顶部构建一个自定义消息列表,但是,这可能会变得非常乏味和棘手。

您可以使用 errorMap and/or errorList 对象来帮助为每个字段和规则构建一个新的错误列表。如果您在此函数内使用 this.defaultShowErrors(),您将重新激活通常出现在每个表单输入旁边的默认消息。这些默认值将使用您之前在规则中定义的消息。