Symfony验证器条件验证


* @AssertType(type="array")
* @AssertCount(
*     min=5,
*     max=10
* )

我需要验证一个类型数组,然后我需要验证该数组是否有最小和最大计数。

但是,当我发送一个字符串值时,AssertType会计算出这不是一个有效的类型,但尽管验证继续到AssertCount,但它不是一个数组,AssertCount抛出UnexpectedValueException,我有消息:This value should be of type {{ type }}.,这对我来说不是正确的验证消息。

只有在AssertType条件正确的情况下才能做AssertCount吗?

如果我理解你的问题,那么使用Assert Sequentially就是解决方案。

更新你的断言如下:

* @AssertSequentially({
*     @AssertType(type="array"),
*     @AssertCount(min=5, max=10),
* })
*/

如果类型不是数组并且不执行任何进一步的验证,则将引发第一次验证。

相关内容

  • 没有找到相关文章

最新更新