Определите допустимые значения параметров формы в зависимости от другого значения параметра в FormType
В Symfony 2.8, в пользовательском типе формы, можно ли заставить setAllowedValues возвращать результат, который зависит от значения другого параметра? Там нет очевидного способа получить доступ кOptions
объект в закрытии, насколько я вижу.
public function configureOptions(OptionsResolver $resolver) {
$resolver->setRequired('option1');
$resolver->setRequired('option2');
$resolver->setAllowedValues('option2', function ($value) {
return $based_on_set_restricted_by_option1; // <-- option2 values are allowed or denied depending on what option1 says
}
}
Самая близкая идея к решению, которое у меня есть, это иметь опцию, которая представляет собой словарь, который инкапсулирует и option1, и option2, и вместо этого делать setAllowedValues, но реструктурировать опции сейчас непросто.