ConstrainViolation类具有非常方便(只读)属性code
。可以在使用验证回调构建违规时设置它:
/**
* @Assert\Callback
* @param ExecutionContextInterface $context
*/
public function validate(ExecutionContextInterface $context)
{
// Some test validation.
if (/* blah blah */)
{
$context
->buildViolation('validation.error.message')
->atPath('test')
// This is the return code for use in calls API
->setCode(6)
->addViolation()
;
}
}
在构建返回状态代码而不是人类可读消息的API时,它非常方便。但是,是否可以使用带注释定义的验证器设置此code
属性?或者至少以某种方式将它们添加到验证回调中?