【发布时间】:2016-07-13 05:32:33
【问题描述】:
我想使用回调验证器和/或 getter,但在简单实体中都跳过了:
AppBundle/Entity/Page.php:
public static function loadValidatorMetadata(ClassMetadata $metadata)
{
$metadata->addConstraint(new Assert\Callback('validate'));
$metadata->addGetterConstraint('passwordLegal', new Assert\IsTrue(array(
'message' => 'The password cannot match your first name',
)));
}
public static function validate($object, ExecutionContextInterface $context)
{
die('validate');
}
public function isPasswordLegal()
{
die('isPasswordLegal');
}
loadValidatorMetadata 已执行,但 validate 和 isPasswordLegal 未执行。为什么?验证已启用。
config.yml:
validation: { enabled: true, enable_annotations: true }
我尝试了validation.yml:
AppBundle\Entity\Page:
constraints:
- Callback: [validate]
谢谢。
【问题讨论】:
-
你是如何触发验证的?表格提交?证实?保存实体?
-
使用 Doctrine 实体提交表单
标签: php validation doctrine-orm symfony