Nefunkční validace pro array prvky (name=„field[]“)
- monty
- Člen | 66
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
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š.