在Entity的回调验证器中使用验证器

时间:2012-01-10 11:08:54

标签: symfony

如何在实体内访问和使用验证器?

关于我正在尝试做的一些细节:

我有一个用户实体,并希望创建一个验证规则,该规则说明:如果设置了用户头发颜色且有效,则眼睛颜色不是强制性的,否则眼睛颜色是强制性的。

所以在我的validation.yml中我设置了一个回调验证器,并表示我想调用一个函数:isHairOrEyeValid()。此功能在用户实体中定义。我需要在User Entity的isHairOrEyeValid()函数中使用一些内置验证器的symfony2。

1 个答案:

答案 0 :(得分:3)

您可以通过内联实例化它们来使用大多数验证器:

$validator = new EmailValidator();
$valid = $validator->isValid($email, new Email());

在您的情况下,看起来您可以使用简单的PHP完成此验证。我不确定你为什么要涉及验证器。