Проверка платформы API не работает при использовании StateProcessorPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Проверка платформы API не работает при использовании StateProcessor

Сообщение Anonymous »

Мне интересно, является ли это потенциальной проблемой/улучшением для платформы API?
Как вы знаете, платформа API имеет процессоры состояний
Но если вы используете обработчики состояний, проверка не будет работать.
Вот мой код:
public function process(mixed $data, Operation $operation, array $uriVariables = [], array $context = [])
{
if ($operation instanceof Post && $data->getPlainPassword()) {
$hashedPassword = $this->passwordHasher->hashPassword(
$data,
$data->getPlainPassword()
);

$data->setPassword($hashedPassword);
$data->eraseCredentials();
}

return $this->processor->process($data, $operation, $uriVariables, $context);
}

В моей сущности User я использую ограничение #[UniqueEntity('email')].
Поэтому, если я не буду использовать Symfony Validator в этом процессоре, возникнет исключение будет брошен.
An exception occurred while executing a query: Duplicate entry 'new_user@gtest.com' for key 'user.UNIQ_8D93D649E7927C74'

Итак, решение следующее:
$errors = $this->validator->validate($data);

if (count($errors) > 0) {
throw new ValidationException($errors);
}


Подробнее здесь: https://stackoverflow.com/questions/784 ... eprocessor
Ответить

Быстрый ответ

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

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

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

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