Vylepšenie podmienok formulárov - addRule() – kontrolu polí pre viac podmienok naraz

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
jardo
Člen | 17
+
0
-

Ahojte

Napadlo ma, či by nebolo fajn zjednodušiť validovanie formulárov viacerými kontrolami v rámci jediného volania metódy addRule(). Metóda addRule by ako prvý parameter prijímala pole s podmienkami.

ako príklad uvediem:

<?php
$form->addText('email', 'Váš email:')
    ->addRule(Form::FILLED, 'Musíte zadať email')
    ->addRule(Form::EMAIL, 'Email nie je v správnom formáte');
?>

by po novom bolo možné zapísať jednodušene:

<?php
$form->addText('email', 'Váš email:')
    ->addRule(array(Form::FILLED, Form::EMAIL), 'Musíte zadať email v správnom formáte');
?>

Editoval jardo (25. 1. 2011 18:31)

JakubJarabica
Gold Partner | 184
+
0
-

Nevidím v tom prínos, keďže je zvyčajne viac user-friendly zobraziť custom hlášky pre každý typ chyby. V tvojom prípade stačí nechať len Form::EMAIL a aj tak validácia neprejde, prídeš len o required suffix(ak máš nejaký nastavený). Form::FILLED aj Form::EMAIL hlášku používam s nakonfigurovaným $defaultMessages, takže druhý parameter uvádzať nemusím.