Asp. Net - ErrorMessage CustomValidator - Показывать только на ValidationSummary - Не в других местах - PullRequest
0 голосов
/ 14 января 2020

Вот ASPX:

<form id="form1" runat="server">
    <div>
        <fieldset style="width: 160px">

            <legend>Select your skills</legend>

            <asp:ValidationSummary ID="ValidationSummary1" runat="server" />

            <asp:CheckBoxList ID="cblCourses" runat="server" RepeatColumns="2">

                <asp:ListItem>Asp.net</asp:ListItem>

                <asp:ListItem>C#</asp:ListItem>

                <asp:ListItem>VB</asp:ListItem>

                <asp:ListItem>WCF</asp:ListItem>

                <asp:ListItem>Jquery</asp:ListItem>

                <asp:ListItem>JavaScript</asp:ListItem>

            </asp:CheckBoxList>

            <asp:Label ID="lblStatus" runat="server" Text=""></asp:Label>

            <asp:CustomValidator ID="CustomValidator1" runat="server" ErrorMessage="Please select at least one skills." ClientValidationFunction="validateCheckBoxList" Display="Dynamic" ForeColor="Red"></asp:CustomValidator>

            <asp:Button ID="btnSubmit" runat="server" Text="Submit" OnClick="btnSubmit_Click" Style="height: 26px" />

        </fieldset>

    </div>
</form>

А вот javascript:

<script type = "text/javascript">

    function validateCheckBoxList(source, args) {

        var chkListModules = document.getElementById('<%= cblCourses.ClientID %>');

        var chkListinputs = chkListModules.getElementsByTagName("input");

        for (var i = 0; i < chkListinputs.length; i++) {

            if (chkListinputs[i].checked) {

                args.IsValid = true;

                return;

            }

        }

        args.IsValid = false;

    }

</script>

Проблема в том, что когда я нажимаю кнопку btnSubmit, появляются два сообщения об ошибках.
Один в ValidationSummary.
Другой рядом с кнопкой btnSubmit.
Как я могу сказать CustomValidator, чтобы он показывал свое сообщение только в ValidationSummary, а не в других местах?

1 Ответ

1 голос
/ 16 января 2020

Вы можете обернуть CustomValidator в div или span с отображением: нет; ошибка по-прежнему отображается в сводке, но больше нигде: -

<span style="display:none;"> <asp:CustomValidator ID="CustomValidator1" runat="server" ErrorMessage="Please select at least one skills." ClientValidationFunction="validateCheckBoxList" Display="Dynamic" ForeColor="Red"></asp:CustomValidator> </span>

Вы должны создать класс для вашего div / span вместо встраивания стиля, это просто для демонстрации его работы .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...