按顺序
编辑本页警告:您正在浏览的文档欧宝官网下载appob娱乐下载Symfony 5.2,现已不再维护。
读本页的更新版本用于Syob娱乐下载mfony 6.2(当前稳定版本)。
按顺序
此约束允许您应用一组应该逐步验证的规则,允许在引发第一个违规时中断验证。
作为一种替代方案按顺序
解决不了的,可以考虑使用GroupSequence这样可以有更多的控制。
5.1
的按顺序
约束在Symfony 5.1中引入。ob娱乐下载
基本用法
假设你有一个的地方
对象的美元的地址
必须符合以下要求的属性:
- 它是非空字符串
- 至少10个字符长的
- 使用特定的格式
- 并使用外部服务进行地理定位
在这种情况下,你可能会遇到三个问题:
- 的
长度
或正则表达式
类型的约束可能难以失效UnexpectedValueException异常,如果实际值不是字符串,由类型
. - 对于同一个属性,您可能会得到多个错误消息。
- 你可以执行一个无用的和繁重的外部调用来地理定位地址,而格式是无效的。
你可以依次验证这些约束来解决以下问题:
- 注释
- YAML
- XML
- PHP
12 3 4 5 6 7 8 9 10 11 12 13 14 16 17 18 19 20 21
/ / src /定位/ Place.php名称空间应用程序\本地化;使用应用程序\验证器\约束作为AcmeAssert;使用ob娱乐下载\组件\验证器\约束作为断言;类的地方{/ * * *@var字符串* *@Assert顺序\ ({*@Assert\ NotNull () *@Assert* \类型(“字符串”)@Assert\长度(min = 10) *@Assert\ Regex(地点::ADDRESS_REGEX) *@AcmeAssert\Geolocalizable(), *}) */公共$地址;}
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。