Ограничения проверки Symfony 6 ложно проходятPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Ограничения проверки Symfony 6 ложно проходят

Сообщение Anonymous »

Я хочу убедиться, что значение, которое получает мой API, является положительным целым числом, а не нулем или нулем
Это мой код для моего объекта данных, который используется сериализатором:< /p>

Код: Выделить всё

class WorkHour
{
[....]
#[OA\Property(description: 'Arbeitsstunden', type: 'integer')]
#[Assert\NotEqualTo(value: 0, message: 'Please add number of hours.', groups: ['create', 'update'])]
#[SerializerGroups(['view', 'create', 'update', 'collection'])]
public int $hours = 0;
[....]
Я также пробовал «NotBlank» и «Positive», но результат тот же.
Вот соответствующий код контроллера:
Вот соответствующий код контроллера:
p>

Код: Выделить всё

[....]
#[
ValidationGroup(['create']),
Groups(['create']),
ViewContext(['groups' => ['create'], 'view_link' => true]),
IsGranted('ROLE_USER', message: 'no right for adding items', statusCode: 403),
OA\Post(
operationId: 'workhour_create ',
description: 'give number of hours',
summary: 'Arbeitsstunden eintragen',
requestBody: new OA\RequestBody(
description: 'WorkHour dto',
required: true,
content: new Model(type: WorkHourDto::class)
),
tags: ['WorkHour Data'],
responses: [
new OA\Response(
response: 201,
description: 'Created',
content: new Model(type: WorkHourDto::class)
),
new OA\Response(response: 401, description: 'Unauthorized'),
new OA\Response(response: 403, description: 'Forbidden (access denied)'),
new OA\Response(response: 422, description: 'Unprocessable Entity'),
new OA\Response(response: 500, description: 'Internal Server Error'),
]
),
Route(path: '', name: 'create', methods: ['POST'])]
public function create(WorkHourDto $workHourDto): CreatedView
{

[....]
Мой тест phpunit ожидает HTTP-статус 422, но получает 201 и с тех пор счастлив.
Что мне здесь не хватает? Как добиться того, чтобы ноль или значение NULL не принимались здесь в качестве значения?

Подробнее здесь: https://stackoverflow.com/questions/786 ... lsely-pass
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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