vlastni zobrazeni chyb formulare

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

Ahoj mam takovyto formular

$defaultNazevMutace = $opt['defaultNazevMutace'];
        $defaultLabelWebMutace = $opt['defaultLabelWebMutace'];
        $defaultUrlMutace = $opt['defaultUrlMutace'];

        $form = new \MyForm();

        $form->addText('nazevMutace', 'Název mutace:')
                ->setRequired('Vyplňte prosím název mutace.')
                ->setAttribute('placeholder', 'Název mutace')
                ->setAttribute('class', 'alert')
                ->setDefaultValue($defaultNazevMutace);

        $form->addText('labelWebMutace', 'Label web:')
                ->setRequired('Vyplňte prosím jak se má jazyk nazývat na webu.')
                ->setAttribute('placeholder', 'Název na webu')
                ->setDefaultValue($defaultLabelWebMutace);

        $form->addText('urlMutace', 'Url jazykové mutace:', NULL, 10)
                ->setRequired('Vyplňte prosím jak se bude jazyk zobrazovat v url adrese.')
                ->setAttribute('placeholder', 'Url jazyka v adrese')
                ->addRule(Form::PATTERN, 'URL může obsahovat pouze malá písmena a číslice', '[0-9,a-z]*')
                ->setDefaultValue($defaultUrlMutace);

        $form->addSubmit('ulozit', 'Uložit')
                ->setAttribute('class', 'btn btn-success');

        $form->addSubmit('storno', 'Storno')
                ->setAttribute('class', 'btn')
                ->setValidationScope(NULL);

        $form->addSubmit('zpet', 'Zpět')
                ->setAttribute('class', 'btn btn-inverse')
                ->setValidationScope(NULL);

        $form->addProtection('Vypršel časový limit, odešlete formulář znovu.');

        $form->onSuccess[] = callback($this, 'submittedMain');

        return $form;

s takovouto sablonou

$renderer = $this->getRenderer();
      $renderer->wrappers['form']['container'] = Html::el('div')->class('form-horizontal');
      $renderer->wrappers['controls']['container'] = NULL;
      $renderer->wrappers['error']['container'] = 'div class="alert alert-error"';

      $renderer->wrappers['control']['container'] = 'div class="controls"';
      $renderer->wrappers['label']['container'] = Html::el('div')->class('control-label');
      ;

      $renderer->wrappers['pair']['.required'] = 'error';
      $renderer->wrappers['pair']['container'] = 'div class="control-group"';
      $this->setRenderer($renderer);

chtel jsem aby se chyby vypsaly do div class=„alert alert-error“
ale chyby se vypisujou do nejake popup bubliny a navic s nejakyma default zpravickama

s4muel
Člen | 92
+
0
-

@vosy: to ti asi vypisuje browser na zaklade html5 atributu required pre input element
vyzera to nejako takto? http://www.html5tutorial.info/…_gallery.png
resp. http://www.w3schools.com/html/tryit.asp?… (po submitnuti)

v tom div class="alert alert-error" sa budu chyby zobrazovat az ked sa formular uspesne odosle (rozumej ‚prejde validaciou na klientskej strane‘)

vosy
Člen | 532
+
0
-

Ty vado to je mazec, da se to nejak sjednotit?

enumag
Člen | 2118
+
0
-

@vosy: Myslíš vzhledově? Nedá.

Šaman
Člen | 2666
+
0
-

Jedině nepoužívat "required" a validovat a formátovat si to ručně, bez toho, aby HTML vědělo, že je to povinné pole.

enumag
Člen | 2118
+
0
-

@Šaman: To „required“ tam být může, dá se to vypnout přes „formnovalidate“, což netteForms.js mimochodem dělá.

vosy
Člen | 532
+
0
-

potreboval bych do elementu <form pridat atribut „novalidate“ za pomoci

$renderer = $this->getRenderer();
      $renderer->wrappers['form']['container']
enumag
Člen | 2118
+
0
-

@vosy: Nelze, tohle se dělá přes $form->getElementPrototype().

vosy
Člen | 532
+
0
-

super, uz to nevaliduje HTML ale zase flashmessage

http://stackoverflow.com/…orm-elements