如何使用Symfony 2.6+验证的有效负载和注释?

时间:2015-07-29 13:32:15

标签: php symfony

我想使用Symfony(从2.6开始)有效载荷属性进行验证

(例如http://symfony.com/doc/current/cookbook/validation/severity.html

但是当他们使用带有注释时,如他们建议的那样:

// src/AppBundle/Entity/User.php
namespace AppBundle\Entity;

use Symfony\Component\Validator\Constraints as Assert;

class User
{
/**
 * @Assert\NotBlank(payload = {severity = "error"})
 */
protected $username;
}

我得到的是一个错误告诉我:[语义错误]无法找到持续的严重性

我尝试了其他几种组合,例如有效负载=" {severtiy ='错误'}",有效负载=严重性=错误,有效负载=数组('严重性' =>'错误')和其他人 - 没什么可行的。

在YML中使用有效载荷时,它就像魅力一样。

有人知道如何将其与注释一起使用吗?谢谢!

当然,我有注释工作(验证:{enable_annotations:true}),任何其他验证注释都有效,它只是导致麻烦的有效负载属性。

1 个答案:

答案 0 :(得分:2)

您只是在注释中缺少数组键周围的引号。如果未引用数组键,则Doctrine注释解析器会认为您正在尝试使用PHP常量作为键。

@Assert\NotBlank(payload = {"severity" = "error"})