Přidání atributu class prvku formuláře a vypnutí JS validace
- forkman
- Člen | 72
Zdaravím. Statečně se snažím bojovat s Nette, ale tohle už asi fakt
nezvládnu :-) Na formulář vytvořený v továrničce navěsím pomocí JS
editor TinyMCE, ale potřeboval bych u té textarey měnit class, abych měl
různé konfigurace TinyMCE editoru.
Zároveň jsem narazil na problém, že když má textarea přidané pravidlo
FILLED, text napsaný do TinyMCE se ignoruje a formulář stále hlásí, že
není textarea není vyplněná. Jde vypnout JS validace u jednoho prvku?
- Panda
- Člen | 569
$form->addTextArea('name', 'label')
->addRule('FormControl::validateFilled', 'label je povinný.');
$form['name']->getControlPrototype()->class('tinymce');
Pokud jako validační pravidlo zadáme callback, tak validace na straně
klienta neproběhne. Můžeme rovnou zadat callback na validační pravidlo,
FormControl::validateFilled
, což je funkčně stejné, jako
zadání Form::FILLED
.
Metoda getControlPrototype()
vrací HTML objekt prvku, se
kterým můžeme dělat vše, co se nám zlíbí.
- Jan Tvrdík
- Nette guru | 2595
Ten problém s TinyMCE lze řešit mnohem efektivněji bez nutnosti vzdát se validace přidáním
$form->getElementPrototype()->onsubmit('tinyMCE.triggerSave()');
- forkman
- Člen | 72
To je fakt lepší nápad, ale JS validace od Nette visí na onClick submit tlačítka, takže to na mě pořád křičí, že je textarea prázdná. Nedá se to validace od Nette taky nějak pověsit na onSubmit formuláře? Nevím, jestli to bude úplně košér, ale jestli je nějaká možnost jak se neošidit o validaci na straně klienta, tak to vyzkouším :-)
- Jan Tvrdík
- Nette guru | 2595
forkman napsal(a):
JS validace od Nette visí na onClick submit tlačítka
Odkdy? Co já vím, tak vždycky byla na onSubmit formuláře.
- Jan Tvrdík
- Nette guru | 2595
Ve výchozím stavu je validace na formu (onSubmit
). Pokud je
více tlačítek a jedno validuje a druhé ne, tak je validace na tlačítkách,
které validují (onClick
).
Sepsána stránka o použití TinyMCE. Můžete doplnit vaše poznatky.