Ignorování setRequired pokud kliknu na druhý submit tlačítko

n.u.r.v.
Člen | 485
+
0
-

Ahoj, mám formulář, který má některá pole povinná a má dvě submit tlačítka (schválit/zamítnout). Potřebuji udělat to, že když user klikne na to druhé tlačítko (zamítnout), tak políčka nebudou povinná – prostě se nebude řešit zda pole je nebo není vyplněné.

Myslel jsem, že bude fungovat tohle, ale nejde to:

$form->addText("STREET", "Ulice:")
                ->addConditionOn($form['approved']->isSubmittedBy(), Form::EQUAL, true)
                ->setRequired("Ulice je povinný údaj!")
                ->setAttribute('class', 'form-control')
                ->addRule...
                ->...;

Buď to vypíše že ‚approved‘ neexistuje a když dám $form->addSubmit před to pole, tak dostanu hlášku Form is not anchored and therefore can not determine whether it was submitted

Prosím o radu jak to udělat. Díky

David Matějka
Moderator | 6445
+
0
-

vyhodnocujes tu podminku moc brzy isSubmittedBy(), zkus:

->addConditionOn($form['approved'], Form::SUBMITTED)

(ale i tak musis nejdriv definovat to submit button)

n.u.r.v.
Člen | 485
+
0
-

@Milo Díky moc, tohle jsem úplně přehlédl – funguje to…