Validace formuláře – 2 prvky v jedné zprávě?
- diablos
- Člen | 36
Zdravím, chtěl by se zeptat, zda jde vyřešit validace 2 prvků formuláře v jedné zprávě. Například mám prvky „přihlašovací jméno“ a „heslo“. A teď když obě nevyplním, aby to hodilo jen jednu zprávu, např. jen „Nevyplnil jste požadované údaje.“, místo toho aby to vyhodilo „Chybné heslo“ a „Chybné jméno“. Druhá otázka je, jestli jde tyto zprávy ve validaci nějak rozlišit. Myslím tím jestli do slotu $flash->type můžu dát něco svého, např. badDay :-) Thx!
- Mikulas Dite
- Člen | 756
RTFM ; )
Ok, to první nejde (protože teď to funguje líp), resp. nejde úplně čistě. Můžeš si napsat vlastní validaci v metodě onSuccess:
function onSuccess(Form $form) {
if (!$form['password']->value && !$form['username']->value)
$form->addError('chyba čéče');
}
Classu flashmessage ovlivníš druhým argumentem
$presenter->flashMessage('zpráva', 'success')
.
- Filip Procházka
- Moderator | 4668
Jenom bych doplnil, že definování metody onSuccess
ve
třídě poděděné od Nette\Forms\Form
(takže i
UI\Form
) rozbije chování událostí a může vést
k neočekávaným výsledkům.
Protože už jsem viděl, že někteří jsou toho schopní, takže raději upozorním…
- bojovyletoun
- Člen | 667