RequiredFieldValidator с ValidationGroup не проверяет
Вот моя разметка:
Name:
<asp:TextBox ID="txtNewName" runat="server" ValidationGroup="NewDepartmentValidationGroup" />
<asp:RequiredFieldValidator ID="vldtxtNewName" runat="server" ControlToValidate="txtNewName"
ErrorMessage="Required Field" /><br />
Description:
<asp:TextBox ID="txtNewDescription" runat="server"
ValidationGroup="NewDepartmentValidationGroup"/>
<asp:RequiredFieldValidator ID="vldtxtNewDescription" runat="server"
ControlToValidate="txtNewDescription" ErrorMessage="Required Field" /><br />
<asp:Button ID="cmdCreate" runat="server" Text="Create"
ValidationGroup="NewDepartmentValidationGroup" OnClick="cmdCreate_Click" />
Когда я удаляю атрибут ValidationGroup, поведение остается ожидаемым, и код на стороне клиента предупреждает о том, что поле является обязательным.
Но когда я указываю ValidationGroup (как отмечено в приведенном выше примере) и нажимаю кнопку с пустыми текстовыми полями, код на стороне клиента ничего не делает, событие нажатия кнопки срабатывает, и Page.IsValid равно true, и мой код продолжается, в отличие от что ожидается.
Любые идеи, как это исправить?
2 ответа
Вам не хватает группы валидации на валидаторах.
Нет необходимости указывать группу проверки на элементах управления (текстовых полях), вместо этого указывайте группу проверки на валидаторах и кнопку, для которой вы хотите опубликовать действительные данные!
Попробуй это:
Name:
<asp:TextBox ID="txtNewName" runat="server" />
<asp:RequiredFieldValidator ID="vldtxtNewName" runat="server"
ControlToValidate="txtNewName" ValidationGroup="NewDepartmentValidationGroup"
ErrorMessage="Required Field" /><br />
Description:
<asp:TextBox ID="txtNewDescription" runat="server" />
<asp:RequiredFieldValidator ID="vldtxtNewDescription" runat="server"
ControlToValidate="txtNewDescription" ErrorMessage="Required Field"
ValidationGroup="NewDepartmentValidationGroup" /><br />
<asp:Button ID="cmdCreate" runat="server" Text="Create"
ValidationGroup="NewDepartmentValidationGroup" OnClick="cmdCreate_Click" />
Попробуйте с ValidationGroup="NewDepartmentValidationGroup" в валидаторы не в текстовом поле
<asp:TextBox ID="txtNewName" runat="server" />
<asp:RequiredFieldValidator ID="vldtxtNewName" runat="server" ControlToValidate="txtNewName" ValidationGroup="NewDepartmentValidationGroup"
ErrorMessage="Required Field" /><br />
Description:
<asp:TextBox ID="txtNewDescription" runat="server"
/>
<asp:RequiredFieldValidator ID="vldtxtNewDescription" runat="server"
ControlToValidate="txtNewDescription" ErrorMessage="Required Field" ValidationGroup="NewDepartmentValidationGroup"/><br />
<asp:Button ID="cmdCreate" runat="server" Text="Create"
ValidationGroup="NewDepartmentValidationGroup" OnClick="cmdCreate_Click" causesvalidation="true" />