2.4 Prostředky pro kontrolu vstupu od uživatele


Validace – je možno ji definovat pro kteroukoliv vstupní komponentu. Po specifikované akci (typicky odeslání dat z formuláře) jsou zadaná data ověřena, pokud splňují danou podmínku. Pokud ano, pokračuje se ve zpracovávání přijatých dat; pokud ne, je generována případná definovaná chybová hláška a zpracování formuláře je ukončeno.

Java Studio Creator umožňuje přidání tří typů validátorů: Double Precision Range Validator kontroluje, zda hodnota leží v zadaném intervalu pro typ float), Length Validator (ověřuje délku řetězce) a Long Precision Range Validator (kontrola intervalu pro typ long). Dále umožňuje použití dalšího validátoru, který je svázaný přímo s konkrétní komponentou: Requied (boolová hodnota, zda je potřeba tuto vlastnost vyplnit).

<ui:textField binding=“#{Page1.textField1}“ id=“textField1″
validator=“#{Page1.longRangeValidator1.validate}“/>

Tab. III: Navázání validátoru na komponentu TextField

Generování chybové hlášky probíhá pomocí komponenty message z knihovny ui.
Komponenta message je svázána s komponentou, pro niž generuje chybovou hlášku pomocí atributu for.
<ui:message binding=“#{Page1.message1}“ id=“message1″
for=“textField1″/>
Tab. IV: Svázání chybové hlášky s komponentou, jejímuž validátoru je určena
Konverze – nejen z důvodu potřeby interpretovat data srozumitelně pro člověka, který bude aplikací pracovat zavádí JSF konvertory. Díky nim, když je ve vrstvě Model používán např. Timestamp, ve vrstvě View je automaticky převeden a zobrazen jako řetězec – Datum – a ne jako počet sekund uplynulych od roku 1900. Navíc je možné nadefinovat konkrétní časovou zónu, pro kterou se má datum zobrazit, nebo třeba místní národní nastavení, takže se datum zobrazí dle zvyklostí v místě použití.
Obr.2: Konvertory
<ui:textField binding=“#{Page1.textField1}“
converter=“#{Page1.dateTimeConverter1}“ id=“textField1″/>
Tab. V: Navázání konvertoru na komponentu Text Field

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *