Přidání atributu class prvku formuláře a vypnutí JS validace

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
forkman
Člen | 72
+
0
-

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
+
0
-
$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í.

forkman
Člen | 72
+
0
-

Dík moc, takovou technickou podporu může závidět i Microsoft :-D

Jan Tvrdík
Nette guru | 2595
+
0
-

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

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

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.

forkman
Člen | 72
+
0
-

Pokud se správně koukám, tak je to prostě na onClick submit tlačítka.

<input type="submit" class="default button" onclick="return validateClankyForm(this)" name="save" id="frmclankyForm-save" value="Uložit" />

Editoval forkman (29. 10. 2009 8:50)

Aurielle
Člen | 1281
+
0
-

Co máš za verzi? (v 0.91 je to na formu)

forkman
Člen | 72
+
0
-

Právě že mám 0.9.1 podle

echo Framework::VERSION;

Editoval forkman (29. 10. 2009 21:07)

Jan Tvrdík
Nette guru | 2595
+
0
-

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.