2013-02-10 2 views
1

У меня есть 3 TextBox es подряд, а затем кнопка «Далее».Могу ли я иметь RequiredFieldValidator для проверки более одного ControlToValidate?

При нажатии кнопки «Далее» элемент управления перейдет на следующую страницу, только если ВСЕ 3 TextBox es содержат текст, введенный пользователем.

Есть ли вариант, с помощью которого можно проверить, все ли TextBox эсов содержат некоторый текст, используя RequiredFieldValidator (вместо того, для различных RequiredFieldValidator для каждого ControlToValidate)?

я в настоящее время имеющий следующий код:

  <tr> 
      <td class="style1"> 
       <asp:Label ID="lblDOB" runat="server" Font-Bold="True" Font-Italic="False" Font-Size="Medium" 
        ForeColor="Black" Text="Date of Birth"></asp:Label> 
      </td> 
       <td> 
        <asp:TextBox ID="txtA" runat="server" Width="45px"></asp:TextBox> 
        <asp:TextBox ID="txtB" runat="server" Width="45px"></asp:TextBox> 
        <asp:TextBox ID="txtC" runat="server" Width="45px"></asp:TextBox> 
        <asp:RequiredFieldValidator ID="RequiredFieldValidator9" runat="server" 
        ControlToValidate="txtA" 
        ErrorMessage="Please enter Text"> 
        </asp:RequiredFieldValidator> 
        <asp:RequiredFieldValidator ID="RequiredFieldValidator10" runat="server" 
        ControlToValidate="txtB" 
        ErrorMessage="Please enter Text"> 
        </asp:RequiredFieldValidator> 
        <asp:RequiredFieldValidator ID="RequiredFieldValidator11" runat="server" 
        ControlToValidate="txtC" 
        ErrorMessage="Please enter Text"> 
        </asp:RequiredFieldValidator> 
       </td> 
      </tr> 

Таким образом, вместо того, чтобы 3-х различных RequiredFieldValidator с, я хочу использовать только один RequiredFieldValidator, который проверяет, если все 3 TextBoxes содержат некоторый текст. Как я могу это достичь?

ответ

0

Невозможно проверить более одного элемента управления с помощью RequiredFieldValidator.

3

Ваш лучший выбор - использовать CustomValidator и комбинировать либо на стороне клиента, либо на стороне сервера C#/vb.net.

0

вы не можете использовать RequiredFieldValidator с более чем одним элементом управления, , но я предпочитаю использовать атрибут HTML5, а не проверку ASP.NET.

<asp:TextBox ID="txt1" required="required" /> 
+3

Хотя вы можете (и должны по причинам доступности) использовать необходимый атрибут HTML5 в дополнение к другим методам проверки, это должно быть так же, как - а не на месте - проверки на стороне сервера. Хотя было бы совершенно правильно использовать пользовательский валидатор без сценария на стороне клиента, полагаясь на требуемый атрибут, чтобы обеспечить динамическое уведомление - обязательный атрибут нельзя использовать изолированно. Атрибут не поддерживается во всех браузерах, может быть взломан злоумышленником и не будет защищать вас, если данные будут отправляться непосредственно на страницу. – pwdst

Смежные вопросы