You are here

public function BrokenWidget::flagViolations in Typed Data API enhancements 8

Reports validation errors against actual form elements.

Depending on the widget's internal structure, a property-level validation error needs to be flagged on the right sub-element.

Note that validation is run according to the validation constraints of the data definition. In addition to that, widget-level validation may be provided using the regular #element_validate callbacks of the form API.

Parameters

\Drupal\Core\TypedData\TypedDataInterface $data: The data to be edited.

\Symfony\Component\Validator\ConstraintViolationListInterface $violations: A list of constraint violations to flag.

\Drupal\Core\Form\SubformStateInterface $formState: The form state of the widget's form.

Overrides FormWidgetInterface::flagViolations

File

src/Plugin/TypedDataFormWidget/BrokenWidget.php, line 61

Class

BrokenWidget
Plugin implementation of the 'broken' widget.

Namespace

Drupal\typed_data\Plugin\TypedDataFormWidget

Code

public function flagViolations(TypedDataInterface $data, ConstraintViolationListInterface $violations, SubformStateInterface $formState) {
  $formState
    ->setErrorByName('value', $this
    ->t('The field %field_label consists of the data type %data_type which cannot be input or a widget for this data type is not implemented yet.', [
    '%field_label' => $this->configuration['label'] ?: $data
      ->getDataDefinition()
      ->getLabel(),
    '%data_type' => $data
      ->getDataDefinition()
      ->getDataType(),
  ]));
}