Как сопоставить данные формы в Symfony с объектом только тогда, когда форма действительна?Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Гость
 Как сопоставить данные формы в Symfony с объектом только тогда, когда форма действительна?

Сообщение Гость »


Представьте пример формы в Symfony:

публичная функция buildForm(FormBuilderInterface $builder) { $строитель ->add('email', EmailType::class, [ 'ограничения' => новый NotBlank(), новый IsUnique(), ], ]) ->add('пароль', PasswordType::class, [ 'ограничения' => новый NotBlank(), новый IsStrongEnough(), ], ]) } Теперь, когда я отправлю форму и удостоверюсь, что она действительна, я хочу, чтобы $form->getData() возвращал мой DTO под названием CreateAccountCommand: последний класс CreateAccountCommand { личный $email; личный $пароль; публичная функция __construct (строка $email, строка $пароль) { $this->email = $email; $this->пароль = $пароль; } общедоступная функция getEmail(): строка { вернуть $this->email; } общедоступная функция getPassword(): строка { вернуть $this->пароль; } } Пример контроллера:

$form = $this->formFactory->create(CreateAccountForm::class); $form->handleRequest($request); if ($form->isSubmited() && $form->isValid()) { $this->commandBus->dispatch($form->getData()); вернуть новый JsonResponse([]); } Я не могу использовать этот класс напрямую с помощью data_class, поскольку форма, очевидно, ожидает, что модель будет иметь методы установки, допускающие нулевые значения. Сама форма работает отлично, как и проверка.

Я пытался использовать метод Data Mapper, но перед проверкой вызывается метод mapFormsToData.

Возможно ли это вообще? Или я должен получить данные в виде массива и создать объект вне формы?
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ, комментарий, отзыв

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Событие формы Symfony добавляет ошибку в определенное поле
    Гость » » в форуме Php
    0 Ответы
    36 Просмотры
    Последнее сообщение Гость
  • Многошаговая форма отображает данные предыдущего шага в виде текста
    Гость » » в форуме Jquery
    0 Ответы
    17 Просмотры
    Последнее сообщение Гость
  • Как сопоставить название месяца с номером месяца и наоборот?
    Гость » » в форуме Python
    0 Ответы
    19 Просмотры
    Последнее сообщение Гость
  • Как я могу установить значение div и сопоставить его с порядком в списке?
    Гость » » в форуме Html
    0 Ответы
    14 Просмотры
    Последнее сообщение Гость
  • Как я могу установить значение div и сопоставить его с порядком в списке?
    Гость » » в форуме CSS
    0 Ответы
    11 Просмотры
    Последнее сообщение Гость

Вернуться в «Php»