другая форма: имя и вложенная форма паспортных данных - passport. Вложенная форма может отсутствовать, а если присутствует, то все поля обязательны к заполнению.
class PersonType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('first_name', TextType::class);
$builder->add('passport', DocumentType::class);
}
}
class DocumentType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('series', TextType::class, ['constraints' => [new NotBlank()]]);
$builder->add('number', TextType::class, ['constraints' => [new NotBlank()]]);
}
}
Но так не работает: если passport отсутствует в запросе, то при валидации возвращаются ошибки: "Значение не должно быть пустым.". Как сделать так, чтобы если passport отсутствует или null, то не валидировались поля вложенного объекта?
вместо NotBlank лучше вставь Length, required false при пустых пропустит, при заполненных проверит по длине
Обсуждают сегодня