Validace formulářů – alespoň jeden prvek vyplněn
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- simPod
- Člen | 383
Mám takto nastavenou validaci
$form->addText("rc", "Rodné číslo");
$form->addText("passport", "Číslo pasu");
$form["passport"]->addConditionOn($form['rc'], Form::FILLED, FALSE)
->addRule(Form::FILLED, 'Zadejte rodné číslo nebo číslo pasu');
$form["rc"]->addConditionOn($form['passport'], Form::FILLED, FALSE)
->addRule(Form::FILLED, 'Zadejte rodné číslo nebo číslo pasu');
Avšak podmínka se splní jen v případě, že jsou obě pole vyplněna, jinak ne. Co mám špatně?
Já to, co jsem napsal, chápu tak, že v případě, že pole
rc
není vyplněno, pak pole passport
musí být
vyplněno a naopak, pokud pole passport
není vyplněno, pak pole
rc
musí být vyplněno.
Díky
- simPod
- Člen | 383
Takto?
$form->addText("rc", "Rodné číslo");
$form->addText("passport", "Číslo pasu");
$form["passport"]->addConditionOn($form['rc'], Form::FILLED, FALSE)
->addRule(Form::FILLED, 'Zadejte rodné číslo nebo číslo pasu');
//$form["rc"]->addConditionOn($form['passport'], Form::FILLED, FALSE)
// ->addRule(Form::FILLED, 'Zadejte rodné číslo nebo číslo pasu');
To se pak aplikuje jen na Rodne cislo, pokud ho vyplnim, tak ok, pokud ale vyplnim cislo pasu, tak opet vyskoci hlaska o validaci.
Mozna uz je moc pozde a nemysli mi to…