Podmíněné Form::FILLED nastaví required u labelu – jde to změnit?
- _Martin_
- Generous Backer | 679
Ahoj, dá se nějak nastavit, aby se labelu nenastavovala třída
required
, pokud je validační pravidlo Form::FILLED
závislé na podmínce? Mám v aplikaci formulář, kdy se k soutěži může
uvést volitelně kontakt. Rád bych uživatele upozornil, pokud ke kontaktu
vyplní email, ale nevyplní jméno. Což sice funguje, ale kvůli
required
je jméno zvýrazněno vždy jako povinné (ač není) a
uživatele to mate.
$form['ownContactName']->addConditionOn($form['ownContactEmail'], Form::FILLED)
->addRule(Form::FILLED, 'Zapomněli jste uvést jméno kontaktní osoby.');
$form['ownContactEmail']->addCondition(Form::FILLED)
->addRule(Form::MAX_LENGTH, 'Email může obsahovat nejvýše %d znaků.', 60)
->addRule(Form::EMAIL, 'Email je zadán špatně, zkontrolujte prosím jeho správnost.');
- Martin Mates
- Člen | 179
Řeším teď něco podobného a taky nevím, jak na to. Chtěl bych mít textový input, který je nepovinný, ale když ho uživatel vyplní, tak to aplikuje pravidlo (př. musí být zadány pouze číslice). Dá se to udělat?
- vlki
- Člen | 218
To je presne cast kodu, ktery _Martin_ postnul.
<?php
$form['ownContactEmail']->addCondition(Form::FILLED)
->addRule(Form::MAX_LENGTH, 'Email může obsahovat nejvýše %d znaků.', 60)
->addRule(Form::EMAIL, 'Email je zadán špatně, zkontrolujte prosím jeho správnost.');
?>
Toto znamena, ze pokud se nejak vyplni pole ownContactEmail
, tak
se na nej budou aplikovat pravidla o delce toho textu a validnosti.
- mlady
- Člen | 24
_Martin_ napsal(a):
Ahoj, dá se nějak nastavit, aby se labelu nenastavovala třída
required
, pokud je validační pravidloForm::FILLED
závislé na podmínce? Mám v aplikaci formulář, kdy se k soutěži může uvést volitelně kontakt. Rád bych uživatele upozornil, pokud ke kontaktu vyplní email, ale nevyplní jméno. Což sice funguje, ale kvůlirequired
je jméno zvýrazněno vždy jako povinné (ač není) a uživatele to mate.$form['ownContactName']->addConditionOn($form['ownContactEmail'], Form::FILLED) ->addRule(Form::FILLED, 'Zapomněli jste uvést jméno kontaktní osoby.'); $form['ownContactEmail']->addCondition(Form::FILLED) ->addRule(Form::MAX_LENGTH, 'Email může obsahovat nejvýše %d znaků.', 60) ->addRule(Form::EMAIL, 'Email je zadán špatně, zkontrolujte prosím jeho správnost.');
Myslim, ze to bolo vyriesene tu