#php #symfony #symfony-forms #symfony-2.5
#php #symfony #symfony-forms #symfony-2.5
Вопрос:
Мне нужно создать довольно большую форму, и определенные части формы необходимо проверять при выборе определенного параметра, и только если этот параметр выбран. Как я могу убедиться, что пропустил эти проверки, если они мне не нужны?
Ответ №1:
Создайте «огромный» метод проверки, затем в самой проверке проверьте «выбранные параметры»: если они есть, проверьте «дополнительное условие»
Что-то вроде
use SymfonyComponentValidatorConstraints as Assert;
/**
*
* @AssertCallback(methods={"isValid"})
*/
class ObjectRelatedToYourForm
{
[...]
public function isValid(ExecutionContext $context)
{
if ($this->optionOneSelected) {
//perform controls and add violation in case of failure
}
if ($this->optionTwoSelected) {
//perform controls and add violation in case of failure
}
}
}