【发布时间】:2018-02-22 13:24:13
【问题描述】:
我正在尝试通过静态回调验证我的实体。
我能够按照Symfony guide 使其工作,但我不清楚。
public static function validate($object, ExecutionContextInterface $context, $payload)
{
// somehow you have an array of "fake names"
$fakeNames = array(/* ... */);
// check if the name is actually a fake name
if (in_array($object->getFirstName(), $fakeNames)) {
$context->buildViolation('This name sounds totally fake!')
->atPath('firstName')
->addViolation()
;
}
}
当我填充 $fakeNames 数组时它工作正常,但如果我想让它“动态”怎么办?假设我想从参数或数据库或任何地方选择该数组。
从构造函数不起作用并且它必须是静态的那一刻起,我应该如何将东西(例如容器或 entityManager)传递给这个类?
当然,我的方法可能完全错误,但我只是使用 symfony 示例以及在互联网上发现的一些其他类似问题,我正在尝试适应我的情况。
【问题讨论】:
标签: symfony orm symfony-3.3 symfony-validator symfony3.x