více addConditionOn na jedno textové pole
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- sandi
- Člen | 1
ahoj, hledám způsob jak na jedno textové pole dát více addConditionOn. Mám textové pole, které má pravidlo ->addRule(Form::MIN_LENGTH, ‚Zadejte alespoň %d znaky‘, 3); . Chci ale, aby se spustilo pouze, pokud není vyplněno ani jedno z dalších 4 textových polí. Pro představu:
$text = $form->addText('text', '');
$pracovnik = $form->addText('pracovnik', 'Pracovník:');
$role = $form->addText('role', 'Role:');
$proces = $form->addText('proces', 'Proces:');
$vv = $form->addText('vv', 'Vstup/Výstup');
Vždy se mi pouze podaří ošetřit jen jedno pole formou
$text->addConditionOn($form['pracovnik'], ~Form::FILLED)
->addRule(Form::MIN_LENGTH, 'Zadejte alespoň %d znaky', 3);
Neví prosím někdo, jak aplikovat addConditionOn na všechna čtyři textová pole?
- Ondřej Mirtes
- Člen | 1536
Nestačilo by nepoužívat fluent interface? tzn. nesázet za addRule další addConditionOn, ale vytáhnout si na novém řádku to pole:
$form['pracovnik']->addConditionOn(....
$form['pracovnik']->addConditionOn(....
$form['pracovnik']->addConditionOn(....
- _Martin_
- Generous Backer | 679
sandi napsal(a):
… Chci ale, aby se spustilo pouze, pokud není vyplněno ani jedno z dalších 4 textových polí. …
Nezkoušel jsem, ale věřím, že to bude fungovat:
$text->addConditionOn($form['pracovnik'], ~Form::FILLED)
->addConditionOn($form['role'], ~Form::FILLED)
->addConditionOn($form['proces'], ~Form::FILLED)
->addConditionOn($form['vv'], ~Form::FILLED)
->addRule(Form::MIN_LENGTH, 'Zadejte alespoň %d znaky', 3);