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
+
0
-

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)