Nefunkční validace pro array prvky (name=„field[]“)

monty
Člen | 66
+
0
-

Ahoj.

Mám formulář ve kterém si pomocí JS duplikuju skupinu fieldů.

Nastavil jsem si validace v továrničce.

...
$form->addText("author_firstname")->setRequired("First name is required");
$form->addText("author_lastname")->setRequired("Last name is required");
...

Manuálně si ho vykreslil a aby se mi hodnoty ukládali do pole, předefinoval jsem si name attribut.

...
<input n:name="author_firstname" name="author_firstname[]" type="text" />
<input n:name="author_lastname" name="author_lastname[]" type="text" />
...

Pravidla pro validaci se v v inputu generují správně, ale jelikož je název jiný, ignorují se.
Můžu nějak v netteForms upravit validaci.
Popř. existuje způsob, jak při vytváření prvku v továrničce definovat, že jde o pole?

Díky
P

duke
Člen | 650
+
+1
-

Pro inputy s [] v názvu není v Nette podpora v input objektech (a tudíž ani validace, která se nastavuje na těchto objektech).
Je však podpora pro kontejnery, a skrze ně můžeš docílit inputů s názvy: authors[1][firstname], authors[1][lastname], authors[2][firstname], authors[2][lastname], atd. a na těch už validace nastavit můžeš.