Validační pravidlo – chybová hláška z callbacku
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Davelister
- Člen | 28
V me aplikaci se pro data zadavana uzivatelem kontroluji stop slova –
sprosta slova atd.
Kontroluji se pomoci validacniho pravidla, ale problem je, ze je potreba
uzivateli sdelit, jaka slova jsou nevhodna a co je treba odstranit. To znamena
predat data z validacniho callbacku do chybove hlasky.
Jak na to:
Pridani pravidla:
$form->addTextArea('neco','Neco:')
->addRule(Callback($obj = new WordBlacklistModel, 'validateInput'), 'Text obsahuje tato nevhodna slova:%s',array(&$obj->words));
Promenou je treba predavat jako referenci, protoze callback se bude volat pozdeji a ve chvili definovani pravidla jeste nejsou znamy neplatna slova
Pseudokod validacni metody:
class WordBlacklistModel extends Object{
public $words = '';
public function validateInput(FormControl $input){
//$result = validace();
//$words = Zjistena nevhodna slova
$this->words = implode(', ',$words);
return $result;
}
Doufam ze to nekomu pomuze, a ze jsem znovuneobjevil kolo :)
Editoval Davelister (18. 7. 2010 23:28)