Week

Дата обновления перевода 2025-02-05

Week

7.2

Ограничение Week было представлено в Symfony 7.2.

Валидирует, что заданная строка (или объект, реализующий PHP-интерфейс Stringable)
представляет валидный номер недели согласно стандарту ISO-8601 (например,
2025-W01).

??????????? ? ???????? ??? ??????
????? Week
????????? WeekValidator

Базовое применение

Если вы хотите убедиться, что свойство startWeek класса OnlineCourse было
между первой и двадцатой неделей 2022 года, вы можете сделать следующее:

1
2
3
4
5
6
7
8
9
10
// src/Entity/OnlineCourse.php
namespace App\Entity;

use Symfony\Component\Validator\Constraints as Assert;

class OnlineCourse
{
    #[Assert\Week(min: '2022-W01', max: '2022-W20')]
    protected string $startWeek;
}

Это ограничение не только проверяет соответствие значения паттерна номерам недель,
но также проверяет, что указанная неделя действительно существует в календаре.
В соответствии со стандартом ISO-8601, год может иметь 52 или 53 недели. Например, 2022-W53 является невалидным, поскольку 2022 год имел только 52 недели; но 2020-W53
валиден, поскольку 2020 год имел 53 недели.

Опции

min

тип: string по умолчанию: null

Минимальный номер недели, которому должно соответствовать значение.

max

тип: string по умолчанию: null

Максимальный номер недели, которому должно соответствовать значение.

Дата обновления перевода 2023-09-24

groups

тип: array | string по умолчанию: null

Определяет группу или группы валидации ограничений. Прочитайте больше о группах валидации.

invalidFormatMessage

тип: string зпо умолчанию: Это значение не отвечает валидной неделе в формате ISO 8601.

Это сообщение будет показано, если значение не соответствует формату недели ISO 8601.

invalidWeekNumberMessage

тип: string по умолчанию: Неделя "{{ value }}" не является валидной неделей.

Это сообщение будет показано, если значение не соответствует валидному номеру недели. Вы можете использовать следующие параметры в этом сообщении:

???????? ????????
{{ value }} ????????, ??????? ???? ???????? ???????????

tooLowMessage

тип: string по умолчанию: Значение не должно быть раньше недели "{{ min }}".

Это сообщение будет показано, если значение меньше минимального номера недели.

Вы можете использовать следующие параметры в этом сообщении:

???????? ????????
{{ min }} ??????????? ????? ??????

tooHighMessage

тип: string по умолчанию: Значение не должно быть после недели "{{ max }}".

Это сообщение будет показано, если значение больше максимального номера недели.

Вы можете использовать следующие параметры в этом сообщении:

???????? ????????
{{ max }} ???????????? ????? ??????

Дата обновления перевода 2025-02-05

payload

тип: mixed по умолчанию: null

Эта опция может быть использована, чтобы добавить к ограничению произвольные данные, относящиеся к домену. Сконфигурированная нагрузка не используется компонентом Валидатор, но его обработка полностью зависит от вас.

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