Nette 2.4 formulář – validace

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

Ahoj, řeším následující problém.

Při zadání špatné emailové adresy by mi měl být vypsán error:

Neplatná emailová adresa

Vypisuje mi to ale defaultní nette hlášku:

Please enter a valid email address.

$form = new UI\Form;
$form->addEmail('email', 'E-mail:')
    ->addRule(UI\Form::FILLED, 'Vyplňte Váš email')
    ->addCondition(UI\Form::FILLED)
    ->addRule(UI\Form::EMAIL, 'Neplatná emailová adresa');
$form->addSubmit('send', 'Odeslat');

Nesetkal jste se někdo s tím? Vůbec mě nenapadá čím by to mohlo být…

Díky

GEpic
Člen | 566
+
0
-

U addEmail již nemusíš nastavovat pravidlo (addRule) pro ověření emailu.

Takže stačí:

$form->addEmail('email', 'E-mail:')
    ->setRequired('Vyplňte váš e-mail');

Editoval GEpic (11. 7. 2017 1:45)

nightfish
Člen | 519
+
0
-

Není to výchozí hláška prohlížeče? Mám pocit, že v Chromu nelze validační hlášku změnit bez použití Javascriptu…

newPOPE
Člen | 648
+
0
-

Skus vypnut validaciu v browseri:

$form->setNovalidate('novalidate');
David Matějka
Moderator | 6445
+
+2
-

addEmail jiz totiz validacni pravidlo pridava, ktere je ale v anglictine. k tomu validacnimu pravidlu, abys ho mohl prelozit primo in-place, je celkem tezke, takze mas dve moznosti:

  1. globalne prelozit ty validacni pravidla v configu https://doc.nette.org/cs/configuring#…
  2. nepouzivat addEmail, ale addText a pridat si to validacni pravido
Aleš Krejčí
Člen | 6
+
0
-

Díky všem za odpovědi.

@DavidMatějka Využil jsem druhé možnosti. Btw, předpokládal jsem totiž že když do pravidla addEmail přidám addRule, tak se mi přepíše validační hláška :-)