按顺序
编辑该页面按顺序
这个约束允许您应用的一套规则,应该逐步验证,允许打断第一个违反是提高验证一次。
作为一个替代的情况下按顺序
不能解决,你可以考虑使用GroupSequence它允许更多的控制。
适用于 | 属性或方法 |
类 | 按顺序 |
验证器 | SequentiallyValidator |
基本用法
假设你有一个的地方
对象与一个美元的地址
财产必须符合以下要求:
- 这是一个非空字符串
- 至少10个字符长
- 与一个特定的格式
- 并使用外部服务geolocalizable
在这种情况下,您可能会遇到三个问题:
- 的
长度
或正则表达式
努力约束可能会失败UnexpectedValueException例外,如果实际值不是一个字符串,强制执行类型
。 - 你可能会有多个同一属性的错误消息。
- 你可能会执行一个无用的和沉重的外部调用geolocalize地址,而无效的格式。
你可以验证这些顺序约束来解决这些问题:
- 属性
- YAML
- XML
- PHP
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
/ / src /定位/ Place.php名称空间应用程序\本地化;使用应用程序\验证器\约束作为AcmeAssert;使用ob娱乐下载\组件\验证器\约束作为断言;/ /重要:嵌套属性需要PHP 8.1或更高版本类的地方{#[断言\顺序([新维护\ NotNull,新维护\类型(“字符串”),新维护\长度(分钟:10),新维护\ Regex(的地方::ADDRESS_REGEX),新AcmeAssert \ Geolocalizable]))公共美元地址;}
这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。