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

时间:2016-10-21 13:13:07

标签: jquery jquery-validate unobtrusive-validation

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

如果未勾选复选框,

在摘要中,我想显示“您必须勾选版权确认复选框才能继续。”

在相邻的复选框标签中,我想显示“必须检查以继续”

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中的消息正在超越,并且它显示在错误摘要中。

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

1 个答案:

答案 0 :(得分:0)

  

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

此插件不提供任何过程或方法来使两个完全不同的错误消息都表示同一字段的相同规则。周期。

可能的解决方法?...

您可以利用the showErrors function构建一个自定义的消息列表,但是,这可能会非常繁琐和粘性。

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