Přidání hodnoty do class při chybě formuláře
- Webster.K
- Člen | 212
Zdravím všechny, jde nějak zařídit, aby u formulářu, když se odešle ale na serveru dojde k nějakému problému (třeba DB, validace atd) a formulář se vráti to u konkrétního inputu třeba přidalo třídu? Momentálně to mám tak, že to vypíše všechny možné chyby co vznikli foreachem na konci formuláře. Potřeboval bych ale krom tohoto upozornění i přidat třídu, abych mohl začervenit to pole. Krom klasických formálářu, kde bych to asi nějak dokázal obejít používám i n:multiplier a tam už jsem celkem v koncích
<div n:multiplier="multiplier" class="row">
<div class="col-lg-5">
<input n:name="nazev_nakladu" class="form-control" placeholder="např. Energie, plyn, voda">
</div>
</div>
A právě za form-control bych potřeboval přidat třeba error třídu, nebo cokoliv, na co si dokáži chytit CSSko a pracovat s tím. Někdo nějaký nápad?
- Webster.K
- Člen | 212
nightfish napsal(a):
<input n:name="nazev_nakladu" n:class="'form-control', $form['nazev_nakladu']->hasErrors() ? 'error'" placeholder="např. Energie, plyn, voda">
Díky za odpověď, to ale právě nefunguje když používám multiplier. Když tam tohle právě dám, končím v chybě: Component with name ‚nazev_nakladu‘ does not exist
- nightfish
- Člen | 519
@WebsterK Zmínku o multiplieru jsem prvně přehlédl. Na žádném projektu jej nepoužívám, takže vystřelím jen od boku po pohledu do zdrojového kódu:
<input n:name="nazev_nakladu" n:class="'form-control', $formContainer['nazev_nakladu']->hasErrors() ? 'error'" placeholder="např. Energie, plyn, voda">
- jeremy
- Člen | 54
Netušíte někdo, jak přidat class error přímo v presenteru místo v šabloně? Někde vypisuji formulář v šabloně jen jako: {control addNewForm} A hodilo by se mi to tam nějak procpat :)
Dokumentace: HTML Atributy
$form->addInteger('number', 'Číslo:')
->setHtmlAttribute('class', 'big-number');
nebo
$form['number']->setHtmlAttribute('class', 'big-number');
Editoval jeremy (31. 7. 2023 2:46)
- Webster.K
- Člen | 212
jeremy napsal(a):
Netušíte někdo, jak přidat class error přímo v presenteru místo v šabloně? Někde vypisuji formulář v šabloně jen jako: {control addNewForm} A hodilo by se mi to tam nějak procpat :)
Dokumentace: HTML Atributy
$form->addInteger('number', 'Číslo:') ->setHtmlAttribute('class', 'big-number'); nebo $form['number']->setHtmlAttribute('class', 'big-number');
Ano, toto vím, ale já bych právě potřeboval, že když vznikne při validaci na straně serveru chyba, tak že to sem vrátí přímo chybu. Teď to totiž dělám až v šabloně