按顺序

编辑该页面

按顺序

这个约束允许您应用的一套规则,应该逐步验证,允许打断第一个违反是提高验证一次。

作为一个替代的情况下按顺序不能解决,你可以考虑使用GroupSequence它允许更多的控制。

基本用法

假设你有一个的地方对象与一个美元的地址财产必须符合以下要求:

  • 这是一个非空字符串
  • 至少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许可证。
ob娱乐下载Symfony 6.2支持通过苏禄人
ob娱乐下载Symfony 6.2支持通过Les-Tilleuls.coop