范围

编辑本页

警告:您正在浏览的文档欧宝体育电话欧宝娱乐app下载地址Symfony 5.2,现已不再维护。

本页的更新版本用于Sy欧宝娱乐app下载地址mfony 6.2(当前稳定版本)。

范围

验证给定的数字或DateTime对象是之间的一些最小值和最大值。

基本用法

要验证高度一个类的场是之间的120而且180,你可以添加以下内容:

  • 注释
  • 属性
  • YAML
  • XML
  • PHP
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16
/ / src /实体/ Participant.php名称空间应用程序实体使用欧宝娱乐app下载地址组件验证器约束作为断言参与者/ * * *@Assert\Range(* min = 120, * max = 180, * notInRangeMessage = "身高必须在{{min}}cm到{{max}}cm之间才能进入",*)*/受保护的高度;}

日期范围

此约束可用于比较DateTime对象的日期范围。范围的最小和最大日期应该以任何日期字符串的形式给出由DateTime构造函数接受.例如,你可以检查一个日期必须在当前年份之内,就像这样:

  • 注释
  • 属性
  • YAML
  • XML
  • PHP
12 3 4 5 6 7 8 9 10 11 12 13 14 15
/ / src /实体/ Event.php名称空间应用程序实体使用欧宝娱乐app下载地址组件验证器约束作为断言事件/ * * *@Assert\范围(* min = " 1月1日",* max = "明年1月1日" *)*/受保护的startDate可以;}

请注意,PHP将使用服务器配置的时区来解释这些日期。如果你想修复时区,将它附加到日期字符串:

  • 注释
  • 属性
  • YAML
  • XML
  • PHP
12 3 4 5 6 7 8 9 10 11 12 13 14 15
/ / src /实体/ Event.php名称空间应用程序实体使用欧宝娱乐app下载地址组件验证器约束作为断言事件/ * * *@Assert\范围(* min = "国际标准时间1月1日",* max = "国际标准时间明年1月1日" *)*/受保护的startDate可以;}

DateTime类也接受相对日期或时间。例如,你可以像这样检查送货日期是否在接下来的五个小时内开始:

  • 注释
  • 属性
  • YAML
  • XML
  • PHP
12 3 4 5 6 7 8 9 10 11 12 13 14 15
/ / src /实体/ Order.php名称空间应用程序实体使用欧宝娱乐app下载地址组件验证器约束作为断言订单/ * * *@Assert\范围(* min =“现在”,* max =“+5小时”*)*/受保护的deliveryDate;}

选项

类型数组|字符串

它定义了该约束所属的一个或多个验证组。阅读更多验证组

invalidDateTimeMessage

类型字符串默认的这个值应该是一个有效的数字。

5.2

invalidDateTimeMessage选项在Symfony 5.2中引入。欧宝娱乐app下载地址

时显示的消息最小值而且马克斯值是PHP日期时间,但给定的值不是。

您可以在此消息中使用以下参数:

参数 描述
{{value}} 当前(无效)值

invalidMessage

类型字符串默认的这个值应该是一个有效的数字。

时显示的消息最小值而且马克斯值是数值的(每个is_numericPHP函数),但给定的值不是。

您可以在此消息中使用以下参数:

参数 描述
{{value}} 当前(无效)值
{{label}} 对应的表单字段标签

5.2

{{label}}参数在Symfony 5.2中引入。欧宝娱乐app下载地址

马克斯

类型数量字符串(日期格式)

这个必需的选项是“max”值。如果给定值为,则验证将失败更大的大于最大值。

maxMessage

类型字符串默认的这个值应该是{{limit}}或更小。

对象的基础值大于时显示的消息马克斯选项,而不是最小值选项已定义(如果两者都已定义,则使用notInRangeMessage).

您可以在此消息中使用以下参数:

参数 描述
{{limit}} 上限
{{value}} 当前(无效)值

maxPropertyPath

类型字符串

它定义了对象属性,其值被用作马克斯选择。

例如,如果你想比较submittedDate美元对象的属性美元的最后期限属性,使用maxPropertyPath =“最后期限”的值域约束下submittedDate美元

提示

使用此选项时,其值可在错误消息中作为{{max_limit_path占位符。尽管它不打算将其包含在显示给最终用户的错误消息中,但当使用api在客户端执行任何映射逻辑时,它非常有用。

最小值

类型数量字符串(日期格式)

这个必需的选项是“min”值。如果给定值为,则验证将失败大于这个最小值。

minMessage

类型字符串默认的这个值应该是{{limit}}或更多。

类的基础值小于时显示的消息最小值选项,而不是马克斯选项已定义(如果两者都已定义,则使用notInRangeMessage).

您可以在此消息中使用以下参数:

参数 描述
{{limit}} 下限
{{value}} 当前(无效)值

minPropertyPath

类型字符串

它定义了对象属性,其值被用作最小值选择。

例如,如果你想比较endDate美元对象的属性美元startDate可以属性,使用minPropertyPath = " startDate可以"的值域约束下endDate美元

提示

使用此选项时,其值可在错误消息中作为{{min_limit_path}}占位符。尽管它不打算将其包含在显示给最终用户的错误消息中,但当使用api在客户端执行任何映射逻辑时,它非常有用。

notInRangeMessage

类型字符串默认的这个值应该在{{min}}和{{max}}之间。

类的基础值小于时显示的消息最小值选项或大于马克斯选择。

您可以在此消息中使用以下参数:

参数 描述
{{Max}} 上限
{{min}} 下限
{{value}} 当前(无效)值

有效载荷

类型混合默认的

此选项可用于将任意特定于领域的数据附加到约束。已配置的有效负载不由Validator组件使用,但其处理完全取决于您。

例如,您可能想使用若干错误级别根据错误的严重程度,在前端以不同的方式呈现失败的约束。

此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。