Подтвердите сущность через API с помощью Symfony - PullRequest
0 голосов
/ 03 апреля 2020

У меня есть сущность с простыми полями. К сожалению, я не могу сказать, каковы ограничения проверки на стороне Symfony. Я должен разместить эту информацию на маршруте API. Если он не возвращает сообщение об ошибке, я могу проверить сущность, если нет, я должен отобразить сообщения об ошибке для пользователя.

Если я хочу сделать это грязным, это довольно просто, но я хотел бы использовать валидатор.

Когда я делаю $form->isValid, я бы хотел, чтобы этот вызов API был выполнен и я добавил сообщения об ошибках непосредственно в форму.

На данный момент у меня есть что-то вроде

if ($form->isSubmitted() && $form->isValid()) {
    if ($entityModelManager->validate($form)) {
        //the entity is valid here
    }
}

Но, как я уже сказал, я думаю, что это грязно, я хотел бы иметь лучший код.

1 Ответ

0 голосов
/ 03 апреля 2020

1) Установить ограничения сущности: https://symfony.com/doc/current/validation.html#the -основы проверки

2) Использовать ValidatorInterface https://symfony.com/doc/current/validation.html#using -the-validator-service

ex:

public function create(ValidatorInterface $validator)
{
    $post = new Post();
    // ... 
    $errors = $validator->validate($post);
    if (count($errors) > 0) {
        foreach($errors as $error) {
            // ... write error to API errors output
        }
    }

    // .. save entity & return success
}

Кстати: я не понимаю связи между API и symfony формами.

...