Doctrine @Assert Annotation验证不起作用

时间:2014-01-14 16:53:42

标签: php mongodb symfony doctrine-orm annotations

我在Symfony / Mongo文档定义中有一个包含以下字段的文档:

/**
 * @MongoDB\String
 * @Assert\NotEmpty
 * @Assert\Regex(pattern="/([0-9]{4})/", message="Please use the YYYY format")
 * @Type("string")
 * Example "2014"
 */
protected $year;

但是,每当我创建一个新文档并将其保存到MongoDB时,Doctrine根本不会强制执行任何Assert定义......它只允许为该字段保存任何值。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

谢谢@Maerlyn。是的,显然,我需要在保存文档之前进行适当的验证,例如

$validator = $this->get('validator');
$violations = $validator->validate($myObj);