validateRequestAttributes($entity, $field_name, $langcode)) { return AccessResult::forbidden(); } return $this->accessEditEntityField($entity, $field_name); } /** * {@inheritdoc} */ public function accessEditEntityField(EntityInterface $entity, $field_name) { return $entity->access('update', NULL, TRUE)->andIf($entity->get($field_name)->access('edit', NULL, TRUE)); } /** * Validates request attributes. */ protected function validateRequestAttributes(EntityInterface $entity, $field_name, $langcode) { // Validate the field name and language. if (!$field_name || !$entity->hasField($field_name)) { return FALSE; } if (!$langcode || !$entity->hasTranslation($langcode)) { return FALSE; } return TRUE; } }