Form toggle & ommited values – nápady

Pavel Kravčík
Člen | 1180
+
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?