首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实体验证API:在验证时检索父字段实体

实体验证API:在验证时检索父字段实体
EN

Drupal用户
提问于 2019-09-17 03:52:17
回答 1查看 257关注 0票数 0

我正在使用Drupal 8 实体验证API。我已经实现了我的ConstraintConstraintValidator类,并添加了它们作为对相关实体字段的约束。

如果我正确地理解了用于validateConstraintValidator方法签名,就会给出字段($items)和约束($constraint)的列表。但是,我需要在逻辑中检索父实体。

如何在使用验证API时获得父实体?

EN

回答 1

Drupal用户

回答已采纳

发布于 2019-09-17 06:19:11

通过在这个核心验证器中使用类似的字段字段列表::getEntity

Drupal\Core\Validation\Plugin\Validation\Constraint\UniqueFieldValueValidator:

代码语言:javascript
复制
class UniqueFieldValueValidator extends ConstraintValidator {

  /**
   * {@inheritdoc}
   */
  public function validate($items, Constraint $constraint) {
    if (!$item = $items->first()) {
      return;
    }
    $field_name = $items->getFieldDefinition()->getName();
    /** @var \Drupal\Core\Entity\EntityInterface $entity */
    $entity = $items->getEntity();

验证方法的第一个参数是混合类型的。对于Drupal实体验证API,可以是字段值、字段项列表或实体,这取决于添加约束的位置。

票数 1
EN
页面原文内容由Drupal提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://drupal.stackexchange.com/questions/286438

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档