JS validácia manuálne pridaného prvku
- Čamo
- Člen | 798
Zdravím,
vie mi prosím vás niekto povedať ako zvalidujem pomocou
live-form-validation.js input, ktorý pridávam do formuláru ručne? Myslel
som, že bude stačiť pridať data-nette-rules. Mám takýto input:
<input name="products[]" id="frm-claimForm-produsts" type="text" class="form-control" required data-nette-rules='[{"op":":filled","msg":"Názov je povinná položka."}]'>
Po načítaní to vyzerá, že live-form-validation ho zaregistrovala, ale errory nepridáva. Po načítaní vyzerá takto:
<div class="col-xs-7 col-sm-10 lfv-error-parent">
<div class="input-group">
<input name="products[]" id="frm-claimForm-produsts" type="text" class="form-control" required="" data-nette-rules='[{ "op":":filled","msg":"Názov je povinná položka." }]' data-lfv-initialized="true" data-lfv-message-id="frm-claimForm-produsts_message">
<span class="input-group-btn">
<span class="btn btn-primary js-add-new">+</span>
</span>
</div>
<span id="frm-claimForm-produsts_message"></span>
</div>
Nevidí tam niekto nejakú chybu?
Editoval Čamo (20. 10. 2016 13:52)
- Čamo
- Člen | 798
Ale nebude Nette kontrolovať či sú v kontainery povolené prvky? To by znamenalo, že tie čo budú navyšše vyhodí. Ale neviem. Urobil som to tak, že len prvý input je povinný a ten má validné name. Ďalšie sú už nepovinné a majú majú name[] so zátvorkami takže ich dostanem ako pole.
On ten projekt je na Nette 5.2 a ani framework nepovolí vytvoriť textové pole so zátvorkami v name.
Editoval Čamo (21. 10. 2016 11:41)
- duke
- Člen | 650
Můžeš použít 2 vnořené Containery např. „products“ a číselné, tj. něco jako:
$productsContainer = $form->addContainer('products');
foreach ($products as $product) {
$productContainer = $productsContainer->addContainer($product->Rank);
$productContainer->addText("title", "Název")
->addRule(...); // TODO
}
To ti pak bude generovat inputy pojmenované jako: products[1][title], product[2][title], atp.
- Čamo
- Člen | 798
Tie vnorené kontainery vyzerajú strašlivo…
JS validácia by mala byť fixnutá viď: https://github.com/…on/issues/26#…