* @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),
* })
*/
如果类型不是数组并且不执行任何进一步的验证,则将引发第一次验证。