ASP.NET
ASP.NET - Walidatory
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:
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";
}
}