Skip to Content

Validátory ASP.Net - 1.část

Mechanismy validace jsou nedílnou součástí formulářů na webových stránkách. Pomocí prvků pro kontrolu zadávaného obsahu můžeme vstup od uživatele validovat velmi jednoduchým a již pro nás zpracovaným způsobem. Asp.Net vyřeší většinu potřebné validace za nás a dokonce upraví skripty podle možností klientského prohlížeče. Tyto ovládací prvky kontrolují obsah zadaných údajů v polích formuláře, podporují různé mechanismy validace jako je například vyplnění povinných polí, správnost zadaného údaje či shody ze zadanými řetězci, atd...
Narozdíl od klasického ASP nemusíme složitě vypisovat sadu příkazů if, aby u každého ovládacího prvku vyhodnocovaly různé podmínky. Všude jinde máme většinou k dispozici skripty na straně serveru a skripty na straně klienta. Ideálním řešením je kombinace těchto skriptů (urychlení validace), což splňují velice dobře objekty v Asp.Net, zvané validátory. Kontrola těchto údajů je také důležitá z hlediska funkčnosti dalšího zpracování webového formuláře.

Typy validátorů a jejic popis:

RequiredFieldValidator Ovládací prvek, ke kterému je připojen, musí být vyplněn.
CompareValidator Porovnává údaje zadané s hodnotou jiného ovládacího prvku, s konstantní hodnotou, nebo hodnotou načtenou z databáze.
RangeValidator Kontrola rozsahu daná horní a spodní hranicí limitu mezi číselnými znaky, abecedními znaky či daty.
RegularExpressionValidator  Kontrola vzorů v řetězcích, využití síly regulárních výrazů. (formát např. rodného čísla, adresy elektronické pošty atd...)
CustomValidator Uživatelsky nadefinovaný validátor, jehož logiku můžeme sami naprogramovat a získat tím větší svobodu validity.
ValidationSummary Sumarizace více validátorů, vypisuje výsledky validace jako souhrn.

 

Výsledky ověřovacích prvků je důležité prověřit druhou kontrolou na serveru vůči různým zdrojům (např. databáze).
Každý ověřovací ovládací prvek má vlastnost IsValid, která udává, jestli validace prošla s kladným výsledkem. (Např. u ovládacího prvku RequiredFieldValidator nabude hodnoty True, pokud uživatel zadá nějaký údaj, v opačném případě hodnoty False.) Vlastnost Page.IsValid říká, jestli jsou splněny všechny podmínky ověřovacích prvků na stránce:

[VisualBasic]
Sub Submit(sender As Object, e As EventArgs)
  if Page.IsValid then
   Label1.Text = "Vše je vyplněno správně"
 end if
end Sub

RequiredFieldValidator

Definice syntaxe:
<asp:RequiredFieldValidator
  id="ID validátoru"
  ControlToValidate="ID prvku, kterého obsah chceme validovat"
  InitialValue="hodnota"
  ErrorMessage="Text chybové zprávy"
  Text="text prvku"
  ForeColor="hodnota"
  BackColor="hodnota" ...
  runat="server">
</asp:RequiredFieldValidator>

Příklad použití:
<form id="form1" runat="server">
<div>
 <p>
  <asp:Label ID="Label1" runat="server" Height="24px"
    Width="140px" Text="Vaše jméno"></asp:Label>
  <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
  <asp:Button ID="tbSubmit" runat="server" Text="Přidat"
    OnClick="Submit" /></p><p>
  <asp:RequiredFieldValidator ID="RequiredFieldValidator1"
    runat="server" ErrorMessage="Zapomněl jste zadat jméno!"
    ControlToValidate="TextBox1">
  </asp:RequiredFieldValidator></p>
</div>
</form>

Tento validátor je užitečný všude tam, kde chcete mít údaj povinný (je třeba ho označit např. hvězdičkou).

Validátory ASP.Net - 2.část