Symfony предоставляет способ проверки массива согласно https://symfony.com/doc/current/validation/raw_values.html, и с его помощью я хочу использовать ограничение EqualTo (https://symfony.com/doc/current/reference/constraints/EqualTo.html), которое не работает с паролем, и подтвердить регистр пароля. Пожалуйста, см. Код ниже:
$this->constraint = new Assert\Collection([
// the keys correspond to the keys in the input array
'fields' => [
'password' =>
[
new Assert\NotBlank(['message' => 'Please enter password.']),
new Assert\Length(['min' => 5, 'minMessage' => 'Please enter password of 5 characters at least.']),
]
,
'confirm_password' =>
[
new Assert\NotBlank(['message' => 'Please enter confirm password.']),
new Assert\EqualTo(['propertyPath' => 'password']),
]
,
],
'allowMissingFields' => false,
'missingFieldsMessage' => 'Please enter value.',
]);
Теперь, вызывая его:
$this->validator = Validation::createValidator();
$this->validator->validate($input, $this->constraint, $groups);
Выше не работает.
Идея состоит в том, чтобы сначала проверить данные запроса перед подготовкой сущности, а затем сохранитьКроме того, я хочу отделить механизм проверки от объекта управления.