周
7.2
Week
约束在 Symfony 7.2 中引入。
验证给定的字符串(或实现 Stringable
PHP 接口的对象)是否表示符合 ISO-8601 标准的有效周数(例如 2025-W01
)。
适用于 | 属性或方法 |
类 | 周 |
验证器 | WeekValidator |
基本用法
如果您想确保 OnlineCourse
类的 startWeek
属性在 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 周。
选项
无效格式消息
类型: string
默认值: This value does not represent a valid week in the ISO 8601 format.
如果值与 ISO 8601 周格式不匹配,将显示此消息。
无效周数消息
类型: string
默认值: The week "{{ value }}" is not a valid week.
如果值与有效周数不匹配,将显示此消息。
您可以在此消息中使用以下参数
参数 | 描述 |
---|---|
{{ value }} |
传递给约束的值 |
过低消息
类型: string
默认值: The value should not be before week "{{ min }}".
如果值低于最小周数,将显示此消息。
您可以在此消息中使用以下参数
参数 | 描述 |
---|---|
{{ min }} |
最小周数 |
过高消息
类型: string
默认值: The value should not be after week "{{ max }}".
如果值高于最大周数,将显示此消息。
您可以在此消息中使用以下参数
参数 | 描述 |
---|---|
{{ max }} |
最大周数 |
本作品,包括代码示例,根据 Creative Commons BY-SA 3.0 许可协议获得许可。