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
Эта опция может быть использована, чтобы добавить к ограничению произвольные данные, относящиеся к домену. Сконфигурированная нагрузка не используется компонентом Валидатор, но его обработка полностью зависит от вас.
Например, вы можете захотеть исользовать несколько уровней ошибок, чтобы представить неудачные ограничения в фронт-энде по-разному, в зависимости от степени сложности ошибки.