Szukaj…


Składnia

  • RequiredFieldValidator Control: <asp: RequiredFieldValidator ID = "rfvcandidate" runat = "server" ControlToValidate = "ddlcandidate" ErrorMessage = "Wybierz kandydata" InitialValue = "Wybierz kandydata">
    </ asp: RequiredFieldValidator>

  • RangeValidator Control:

    <asp: RangeValidator ID = "rvclass" runat = "server" ControlToValidate = "txtclass" ErrorMessage = "Wpisz swoją klasę (6-12)" MaximumValue = "12" MinimumValue = "6" Type = "Integer">
    </ asp: RangeValidator>

  • CompareValidator Control: <asp: CompareValidator ID = "CompareValidator1" runat = "server" ErrorMessage = "CompareValidator"> </ asp: CompareValidator>

  • CustomValidator:

    <asp: CustomValidator ID = "CustomValidator1" runat = "server" ClientValidationFunction = .cvf_func. ErrorMessage = "CustomValidator">

    </ asp: CustomValidator>

  • Podsumowanie walidacji: <asp: ValidationSummary ID = "ValidationSummary1" runat = "server" DisplayMode = "BulletList" ShowSummary = "true" HeaderText = "Błędy:" />

Kontrola poprawności

Formanty sprawdzania poprawności ASP.NET sprawdzają poprawność danych wejściowych użytkownika, aby zapobiec przechowywaniu bezużytecznych, nieuwierzytelnionych lub sprzecznych danych.

ASP.NET zapewnia następujące funkcje sprawdzania poprawności:

  • RequiredFieldValidator
  • RangeValidator
  • CompareValidator
  • RegularExpressionValidator
  • CustomValidator
  • ValidationSummary

RequiredFieldValidator Control

Formant RequiredFieldValidator zapewnia, że wymagane pole nie jest puste. Zasadniczo jest on powiązany z polem tekstowym, aby wymusić wejście do pola tekstowego.

Składnia kontrolki jest następująca:

<asp:RequiredFieldValidator ID="rfvcandidate" 
   runat="server" ControlToValidate ="ddlcandidate"
   ErrorMessage="Please choose a candidate" 
   InitialValue="Please choose a candidate">
   
</asp:RequiredFieldValidator>

RangeValidator Control

Kontrola RangeValidator sprawdza, czy wartość wejściowa mieści się w określonym z góry zakresie.

Ma trzy specyficzne właściwości:

Nieruchomości Opis
Rodzaj Określa typ danych. Dostępne wartości to: waluta, data,
Minimalna wartość Określa minimalną wartość zakresu.
Maksymalna wartość Określa maksymalną wartość zakresu.

Składnia kontrolki jest następująca:

<asp:RangeValidator ID="rvclass" runat="server" ControlToValidate="txtclass" 
   ErrorMessage="Enter your class (6 - 12)" MaximumValue="12" 
   MinimumValue="6" Type="Integer">
   
</asp:RangeValidator>

CompareValidator Control

Kontrolka CompareValidator porównuje wartość w jednej kontrolce ze stałą wartością lub wartością w innej kontrolce.

Ma następujące właściwości:

Nieruchomości Opis
Rodzaj Określa typ danych.
ControlToCompare Określa wartość kontrolki wejściowej do porównania.
ValueToCompare Określa stałą wartość do porównania.
ValueToCompare Określa operator porównania, dostępne wartości to: Równe, NotEqual, GreaterThan, GreaterThanEqual, LessThan, LessThanEqual i DataTypeCheck.

Podstawowa składnia formantu jest następująca:

<asp:CompareValidator ID="CompareValidator1" runat="server" 
   ErrorMessage="CompareValidator">
   
</asp:CompareValidator>

RegularExpressionValidator

RegularExpressionValidator umożliwia sprawdzanie poprawności tekstu wejściowego poprzez dopasowanie do wzorca wyrażenia regularnego. Wyrażenie regularne jest ustawione we właściwości ValidationExpression.

Poniższa tabela zawiera podsumowanie najczęściej używanych konstrukcji składni dla wyrażeń regularnych:

Ucieczki postaci Opis
\b Dopasowuje backspace.
\ t Dopasowuje kartę.
r Odpowiada zwrotowi karetki.
\ v Pasuje do pionowej zakładki.
\fa Pasuje do formularza.
\ n Dopasowuje nową linię.
\ Postać ucieczki.

Oprócz dopasowania pojedynczych znaków można określić klasę znaków, które można dopasować, zwane metaznakami.

Metaznaki Opis
. Pasuje do dowolnego znaku z wyjątkiem \ n.
[abcd] Dopasowuje dowolny znak w zestawie.
[^ abcd] Nie obejmuje żadnej postaci w zestawie.
[2-7a-mA-M] Dopasowuje dowolny znak określony w zakresie.
\ w Pasuje do dowolnego znaku alfanumerycznego i podkreślenia.
\ W Dopasowuje dowolny znak inny niż słowo.
\ s Dopasowuje znaki białych znaków, spację, tabulację, nową linię itp.
\ S Pasuje do każdego znaku spacji.
\re Dopasowuje dowolny znak dziesiętny.
\RE Dopasowuje dowolny znak nie dziesiętny.

Można dodać kwantyfikatory, aby określić liczbę pojawiania się postaci.

Kwantyfikator Opis
* Zero lub więcej dopasowań.
+ Co najmniej jeden mecz.
? Zero lub jedno dopasowanie.
{N} N mecze.
{N,} N lub więcej dopasowań.
{N, M} Między meczami N i M.

Składnia kontrolki jest następująca:

<asp:RegularExpressionValidator ID="string" runat="server" ErrorMessage="string"
   ValidationExpression="string" ValidationGroup="string">
   
</asp:RegularExpressionValidator>

Podsumowanie walidacji

Kontrolka ValidationSummary nie wykonuje żadnej weryfikacji, ale wyświetla podsumowanie wszystkich błędów na stronie. Podsumowanie wyświetla wartości właściwości ErrorMessage wszystkich elementów sterujących sprawdzania poprawności, które zakończyły się niepowodzeniem.

Poniższe dwie wzajemnie uwzględniające się właściwości wyświetlają komunikat o błędzie:

ShowSummary: pokazuje komunikaty o błędach w określonym formacie.

ShowMessageBox: pokazuje komunikaty o błędach w osobnym oknie.

Składnia formantu jest następująca:

<asp:ValidationSummary ID="ValidationSummary1" runat="server" 
   DisplayMode = "BulletList" ShowSummary = "true" HeaderText="Errors:" />

Grupy walidacyjne

Złożone strony zawierają różne grupy informacji w różnych panelach. W takiej sytuacji może pojawić się potrzeba przeprowadzenia osobnej weryfikacji dla osobnej grupy. Ten rodzaj sytuacji jest obsługiwany za pomocą grup sprawdzania poprawności.

Aby utworzyć grupę sprawdzania poprawności, należy umieścić formanty wejściowe i kontrolne sprawdzania poprawności w tej samej grupie logicznej, ustawiając ich właściwość ValidationGroup.

Przykład Poniższy przykład opisuje formularz do wypełnienia przez wszystkich uczniów szkoły, podzielonych na cztery domy, na wybór przewodniczącego szkoły. W tym przypadku używamy elementów sterujących sprawdzania poprawności do sprawdzania poprawności danych wprowadzanych przez użytkownika.

Oto formularz w widoku projektu:

wprowadź opis zdjęcia tutaj

Kod pliku zawartości jest taki, jak podano:

<form id="form1" runat="server">

   <table style="width: 66%;">
   
      <tr>
         <td class="style1" colspan="3" align="center">
         <asp:Label ID="lblmsg" 
            Text="President Election Form : Choose your president" 
            runat="server" />
         </td>
      </tr>

      <tr>
         <td class="style3">
            Candidate:
         </td>

         <td class="style2">
            <asp:DropDownList ID="ddlcandidate" runat="server"  style="width:239px">
               <asp:ListItem>Please Choose a Candidate</asp:ListItem>
               <asp:ListItem>M H Kabir</asp:ListItem>
               <asp:ListItem>Steve Taylor</asp:ListItem>
               <asp:ListItem>John Abraham</asp:ListItem>
               <asp:ListItem>Venus Williams</asp:ListItem>
            </asp:DropDownList>
         </td>

         <td>
            <asp:RequiredFieldValidator ID="rfvcandidate" 
               runat="server" ControlToValidate ="ddlcandidate"
               ErrorMessage="Please choose a candidate" 
               InitialValue="Please choose a candidate">
            </asp:RequiredFieldValidator>
         </td>
      </tr>

      <tr>
         <td class="style3">
            House:
         </td>

         <td class="style2">
            <asp:RadioButtonList ID="rblhouse" runat="server" RepeatLayout="Flow">
               <asp:ListItem>Red</asp:ListItem>
               <asp:ListItem>Blue</asp:ListItem>
               <asp:ListItem>Yellow</asp:ListItem>
               <asp:ListItem>Green</asp:ListItem>
            </asp:RadioButtonList>
         </td>

         <td>
            <asp:RequiredFieldValidator ID="rfvhouse" runat="server" 
               ControlToValidate="rblhouse" ErrorMessage="Enter your house name" >
            </asp:RequiredFieldValidator>
            <br />
         </td>
      </tr>

      <tr>
         <td class="style3">
            Class:
         </td>

         <td class="style2">
            <asp:TextBox ID="txtclass" runat="server"></asp:TextBox>
         </td>

         <td>
            <asp:RangeValidator ID="rvclass" 
               runat="server" ControlToValidate="txtclass" 
               ErrorMessage="Enter your class (6 - 12)" MaximumValue="12" 
               MinimumValue="6" Type="Integer">
            </asp:RangeValidator>
         </td>
      </tr>

      <tr>
         <td class="style3">
            Email:
         </td>

         <td class="style2">
            <asp:TextBox ID="txtemail" runat="server" style="width:250px">
            </asp:TextBox>
         </td>

         <td>
            <asp:RegularExpressionValidator ID="remail" runat="server" 
               ControlToValidate="txtemail" ErrorMessage="Enter your email" 
               ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*">
            </asp:RegularExpressionValidator>
         </td>
      </tr>

      <tr>
         <td class="style3" align="center" colspan="3">
            <asp:Button ID="btnsubmit" runat="server" onclick="btnsubmit_Click" 
               style="text-align: center" Text="Submit" style="width:140px" />
         </td>
      </tr>
   </table>
   <asp:ValidationSummary ID="ValidationSummary1" runat="server" 
      DisplayMode ="BulletList" ShowSummary ="true" HeaderText="Errors:" />
</form>

Kod za przyciskiem wysyłania:

protected void btnsubmit_Click(object sender, EventArgs e)
{
   if (Page.IsValid)
   {
      lblmsg.Text = "Thank You";
   }
   else
   {
      lblmsg.Text = "Fill up all the fields";
   }
}


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow