范围
编辑本页警告:您正在浏览的文档欧宝体育电话欧宝娱乐app下载地址Symfony 5.2,现已不再维护。
读本页的更新版本用于Sy欧宝娱乐app下载地址mfony 6.2(当前稳定版本)。
范围
验证给定的数字或DateTime
对象是之间的一些最小值和最大值。
适用于 | 属性或方法 |
选项 | |
类 | 范围 |
验证器 | RangeValidator |
基本用法
要验证高度
一个类的场是之间的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下载地址
maxMessage
类型:字符串
默认的:这个值应该是{{limit}}或更小。
对象的基础值大于时显示的消息马克斯选项,而不是最小值选项已定义(如果两者都已定义,则使用notInRangeMessage).
您可以在此消息中使用以下参数:
参数 | 描述 |
---|---|
{{limit}} |
上限 |
{{value}} |
当前(无效)值 |
maxPropertyPath
类型:字符串
它定义了对象属性,其值被用作马克斯
选择。
例如,如果你想比较submittedDate美元
对象的属性美元的最后期限
属性,使用maxPropertyPath =“最后期限”
的值域约束下submittedDate美元
.
提示
使用此选项时,其值可在错误消息中作为{{max_limit_path
占位符。尽管它不打算将其包含在显示给最终用户的错误消息中,但当使用api在客户端执行任何映射逻辑时,它非常有用。
minMessage
类型:字符串
默认的:这个值应该是{{limit}}或更多。
类的基础值小于时显示的消息最小值选项,而不是马克斯选项已定义(如果两者都已定义,则使用notInRangeMessage).
您可以在此消息中使用以下参数:
参数 | 描述 |
---|---|
{{limit}} |
下限 |
{{value}} |
当前(无效)值 |
minPropertyPath
类型:字符串
它定义了对象属性,其值被用作最小值
选择。
例如,如果你想比较endDate美元
对象的属性美元startDate可以
属性,使用minPropertyPath = " startDate可以"
的值域约束下endDate美元
.
提示
使用此选项时,其值可在错误消息中作为{{min_limit_path}}
占位符。尽管它不打算将其包含在显示给最终用户的错误消息中,但当使用api在客户端执行任何映射逻辑时,它非常有用。
notInRangeMessage
类型:字符串
默认的:这个值应该在{{min}}和{{max}}之间。
您可以在此消息中使用以下参数:
参数 | 描述 |
---|---|
{{Max}} |
上限 |
{{min}} |
下限 |
{{value}} |
当前(无效)值 |