Q: What to check when validator is not called in symfony 3? I cannot find general checklist - what to check when it is not called. Can you write it? 
For example code snippets where validator is not being called:
$fieldOptions['constraints'] = [
                    new NotBlank($constraintOptions)
                ];

$builder->add(
                        $builder
                            ->create($formField->getId(), EntityType::class, $fieldOptions)
                            ->addModelTransformer(
                                new EntityCollectionToArrayTransformer($this->registry, $fieldOptions['class'])
                            )
                    );


A: One of things to check - validation groups. Try commenting out any validation groups, so it would work as default. When form adds a collection of forms, those subforms validator constrains also have to have same group. https://symfony.com/doc/3.4/validation/groups.html

When validating just the User object, there is no difference between the Default group and the User group. But, there is a difference if User has embedded objects. For example, imagine User has an address property that contains some Address object and that you've added the Valid constraint to this property so that it's validated when you validate the User object.
If you validate User using the Default group, then any constraints on
  the Address class that are in the Default group will be used. But, if
  you validate User using the User validation group, then only
  constraints on the Address class with the User group will be
  validated.
In other words, the Default group and the class name group (e.g. User)
  are identical, except when the class is embedded in another object
  that's actually the one being validated.

