Я пишу API.И мне нужно проверить форму.Другие формы проверяются корректно, но эта форма вообще не проверяется.
Это мой класс типов форм:
public function buildForm(FormBUilderInterface $builder, array $options){
$builder
->add('passwordConfirmation', RepeatedType::class, [
'required' => true,
'invalid_message' => 'Passwords must match!',
'type' => PasswordType::class
]);
}
/**
* @param OptionsResolver $resolver
*/
public function configureOption(OptionsResolver $resolver){
$resolver->setDefaults(array(
'data_class' => RepeatPassword::class,
'csrf_protection' => false
))
}
public function getName() {
return 'repeatPassword';
}
Моя сущность:
class RepeatedPassword{
/**
* @var string
* @Assert\Length(
* min = 8,
* minMessage = "Your password must be at least {{ limit }} characters long")
* )
* @Assert\NotBlank()
*/
private $passwordConfirmation;
/**
* @return mixed
*/
public function getPasswordConfirmation() {
return $this->passwordConfirmation;
}
/**
* @param mixed $passwordConfirmation
*/
public function setPasswordConfirmation($passwordConfirmation): void{
$this->passwordConfirmation = $passwordConfirmation;
}
}
Метод гдеЯ пытаюсь подтвердить:
public function resetPassword(Request $request): View{
$form = $this->createForm(RepeatPasswordType::class);
$form->handleRequest($request);
if ($form->isValid()) {
$this->userService->setPassword($this->getUser(), $form->getData()->getPasswordConfirmation());
return View::create([], Response::HTTP_OK);
}
return View::create($form->getErrors(), Response::HTTP_BAD_REQUEST);
}
Мой файл config.yml:
validation: { enabled: true, enable_annotations: true }
serializer: { enable_annotations: true }
Отправляемые данные и ответ сервера со статусом 400: