Nepovinné pole s kontrolou

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

Zdravím,
mám další problém :-). Mám validaci telefoního čísla:

$form->addText("mobil","Mobil:")
     ->addRule(Form::PATTERN, "Číslo mobilu je uvedeno v neplatném tvaru!", '([0-9]\s*){9}');

Problém je v tom, že takto je pole povinné (pokud je prázdné neodpovídá reg. výraz). Lze ho nějak upravit aby délka byla 0 NEBO 9? Či to nějak obejít za použití nette? MAX_LENGTH nepomůže, protože potřebuji přesně 9 čísel.

->addRule(Form::FLOAT, "Číslo mobilu musí být číslo!')

ovšem použít lze.

Díky moc

nanuqcz
Člen | 822
+
0
-

Ahoj, k tomuhle slouží $form->addCondition()

$form->addText("mobil","Mobil:")
    ->addCondition(Form::FILLED)
        ->addRule(Form::PATTERN, "Číslo mobilu je uvedeno v neplatném tvaru!", '([0-9]\s*){9}');

pokud teda používáš Nette 2.0 beta.

Darkry
Člen | 101
+
0
-

Díky moc. Přesně to jsem potřeboval. Měl jsem lépe číst dokumentaci ;-)

Editoval Darkry (10. 7. 2011 20:32)