Form toggle & ommited values – nápady

před 2 měsíci

Pavel Kravčík
Člen | 959
+
0
-

Mějme složitější formulář, kde se například dle typu skrývají políčka. Co když uživatel ty políčka vyplní a následně změní typ. Tím pádem se ty políčka posílají dále.

Vynucení prázdného pole

$form->addText('value')
    ->addConditionOn($form['type'], Form::EQUAL, Dial::TYPE_1)
        ->addRule($form::FILLED, 'Vyplňte políčko')
    ->elseCondition()
        ->addRule(Form::BLANK, 'Políčko musí být prázdné')
    ->endCondition();

Ošetření v zpracování formuláře (či déle)

public function successForm($form, $values)
{
    if($values->type == Dial::TYPE_1)
    {
        unset($values->value);
    }
}

Hlídání v JS

$('#type').on('change', function(){
    $('#value').val(); // píšu z hlavy, syntaxe není důležitá
});

Nápad

->elseCondition()
    ->setOmmited() // vypadá to hezky, ale není to logické
->endCondition();

Jak to řešíte vy?