Мне нужно иметь возможность применять несколько групп проверки к некоторым элементам управления на моей странице, потому что для каждого из трех представленных «режимов» существует различный набор обязательных полей.
У меня естьтри кнопки отправки, и у каждой есть своя собственная группа проверки (отклонить, утвердить и сохранить).«Отклонить» фактически не имеет обязательных полей в настоящее время, но может появиться в будущем.«Сохранить» требует только «имя» и «фамилия», в то время как «подтвердить» требует «имя», «фамилия», а также «имя группы».
Я попытался просто поставить множественную проверкугруппы в значении атрибута (как в приведенном ниже коде), но проверка не сработала вообще.
Я также пытался вообще не указывать группу в попытке просто запустить проверку всегда, ноопять же, он вообще не сработал.
<div>
<label for='<%= txt_FirstName.ClientID %>'>First Name</label>
<asp:TextBox ID="txt_FirstName" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="rfv_FirstName" runat="server" text="Required"
ControlToValidate="txt_FirstName" ValidationGroup="approve save">
</asp:RequiredFieldValidator>
</div>
<div>
<label for='<%= txt_LastName.ClientID %>'>Last Name</label>
<asp:TextBox ID="txt_LastName" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="rfv_LastName" runat="server" text="Required"
ControlToValidate="txt_LastName" ValidationGroup="approve save">
</asp:RequiredFieldValidator>
</div>
<div>
<label for='<%= ddl_GroupName.ClientID %>'>Group Name</label>
<asp:DropDownList ID="ddl_GroupName" runat="server"></asp:DropDownList>
<asp:RequiredFieldValidator ID="rfv_GroupName" runat="server" text="Required"
ControlToValidate="ddl_GroupName" ValidationGroup="approve">
</asp:RequiredFieldValidator>
</div>
<div>
<asp:Button ID="btn_Reject" runat="server" Text="Reject"
ValidationGroup="reject" OnClick="btn_Reject_Click" />
<asp:Button ID="btn_Approve" runat="server" Text="Approve"
ValidationGroup="approve" OnClick="btn_Approve_Click" />
<asp:Button ID="btn_Save" runat="server" Text="Save"
ValidationGroup="save" OnClick="btn_Save_Click" />
</div>
Я уверен, что смогу достичь желаемого эффекта с помощью некоторого дополнительного кода или дублированных элементов управления валидатора для каждой группы валидации, но я надеялся, что веб-формыВ каркасе был бы более простой встроенный способ сделать это.
ОБНОВЛЕНИЕ (2018-01-02):
Вопрос "Можно ли назначить несколько групп проверки для одной проверки?Контроль? " это мой особый случай.У него есть один элемент управления в нескольких группах, тогда как у меня есть несколько элементов управления с несколькими перекрывающимися группами.Кроме того, в ответе предлагается наличие элемента проверки для каждой комбинации ввода / группы.Это ужасное решение, потому что, помимо прочего, оно нарушает принцип программирования СУХОЙ (не повторяйся) и усложняет обслуживание / усовершенствования.
Вышеприведенное также связывает вопрос "Какпроверить по нескольким группам проверки? ".Этот вопрос является совершенно другой проблемой (группы проверки внутри групп проверки), и в его ответе предлагается настраиваемый javascript, который необходимо будет написать для каждой кнопки отправки, на каждой странице, для которой требуется несколько групп проверки.
Я ищудля общего решения случая, которое я могу написать / реализовать один раз и применить ко всему веб-приложению, и, таким образом, я не считаю свой вопрос дубликатом вышеупомянутых вопросов.
ОБНОВЛЕНИЕ (2018-01-03):
Между другими вопросами / статьями, с которыми я столкнулся при исследовании своей проблемы, а также любезной помощью a.bajorinas и Sunil, я установил, что на валидацию невозможно иметь несколько групп валидацииконтроль из коробки, и пользовательский код потребуется для достижения желаемого эффекта.Я соответствующим образом обновил вопрос, чтобы помочь всем, кто хочет достичь этого в будущем.
Я буду тестировать решение, которое включает в себя элементы из ответов a.bajorinas 'и Sunil и, надеюсь, сможетпредоставьте обновление позже.