Validace v závislosti na odesílacím tlačítku
- mara
- Člen | 4
Zdravím,
lze nějak udělat, aby se v závislosti na odesílacím tlačítku
validovaly jen některé formulářové prvky?
Z dostupných informací jsem zjistil, že validaci lze pouze
vypnout pomocí
$submitButton->setValidationScope(FALSE)
Zatím to dělám tak, že k prvku, u kterého chci validaci vypustit, připojím custom validátor…s tím, že tento validátor má jako parametr mimo jiné i odesílací tlačítko. A pak kontrolou
$submitButton->isSubmittedBy();
buď nechám anebo nenechám validaci proběhnout.
Ale příjde mi to krkolomné.
Díky.
Editoval mara (8. 1. 2012 18:21)
- mildabre
- Člen | 62
Nedává to moc logiku validovat různým způsobem podle odesílacího tlačítka. Z hlediska aplikace ty data jsou buďto OK nebo ne a nemělo by záležet na volbě uživatele zda chce validovat nebo ne. Pokud logika aplikace snese nižší úroveň validace, tak ji nechej sníženou, ale nedávej uživatelům volbu co se má nebo nemá validovat – o tom by Jsi měl vždy rozhodnout Ty.
Někdy je situace taková, že by se nějaké pole mělo validovat, ale v 1% případů je výjimka a je potřeba pustit ho i nevalidní – zde by to chtělo místo tvrdé validace která data nepustí dát po odeslání formuláře upozornění, že data možná nejsou zcela korektní a dát na výběr zda pokračovat nebo ne.