Registracni formular → vraceni a vykresleni chyby konkretnimu prvku formulare
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- flexroad
- Člen | 117
Ahoj,
delam registracni formular s pouzitim Nextras\Froms\Rendering\Bs3FormRenderer a pouzivam mimo jine javascript z live form validation.
Pokud dojde pri blurout k chybe, chyba se vykresli pekne vedle policka, ktereho se to tyka, coz je to co potrebuji.
Potreboval bych ale pridat vlastni validacni pravidlo a po odeslani formulare vypsat chybu opet u policka ktereho se to tyky. Poradi nekdo jak na to?
Moje komponenta formulare vypada zjednodusene nejak takto:
protected function createComponentSignUpForm()
{
$form = new Nette\Application\UI\Form();
$form->setRenderer(new Nextras\Froms\Rendering\Bs3FormRenderer());
$form->addText('nickname', 'Nickname')
->addRule(Nette\Application\UI\Form::FILLED, 'Nickname is Required')
->addRule(function (){return false;/*tady bude nejaka validacni funkce*/}, "Nickname already exists");
$form->addSubmit('send', 'Sign Up');
$form->onError[] = function (UI\Form $form) {
$errors = $form->getErrors(); //VRATI POLE CHYB
//TADY BYCH ASI POTREBOVAL ZJISTIT, KTERYCH POLI SE CHYBY TYKAJI A JEDNOTLIVYM
//POLIM PRIDAT ERROR MESSAGE
};
$form->onSuccess[] = function (UI\Form $form) {
$values = $form->getValues();
$this->onFormSuccess($values); // VRATI HODNOTY FORMULARE
};
return $form;
}
Poradi nekdo?
Diky,
@flexroad
Editoval flexroad (12. 3. 2015 16:14)