我想根据其中一个语句失败返回一条可变if
消息,但我不知道如何在一个验证器中这样做。我不太确定在这种情况下最佳做法是什么。这两个if
语句都需要$entity
, 并将其拆分为单独的验证器意味着我必须多次查询它才能进行验证。
'validators' => [
[
'name' => ValidatorCallback::class,
'options' => [
'callback' => function ($value) {
$entity= $this->getObjectManager()
->getRepository(SalesChannel::class)
->find($value);
if (is_null($entity)) {
//No entity found with the given id.
return false;
}
if ($value !== $entity->getParent()->getId()) {
//Wrong parent
return false;
}
},
'messages' => [
'callbackValue' => _(
'Error, ...... is wrong'
),
],
],
],
],