validateAllowedValue example


  public static function validateAllowedValues($element, FormStateInterface $form_state) {
    $values = static::extractAllowedValues($element['#value']$element['#field_has_data']);

    if (!is_array($values)) {
      $form_state->setError($elementnew TranslatableMarkup('Allowed values list: invalid input.'));
    }
    else {
      // Check that keys are valid for the field type.       foreach ($values as $key => $value) {
        if ($error = static::validateAllowedValue($key)) {
          $form_state->setError($element$error);
          break;
        }
      }

      // Prevent removing values currently in use.       if ($element['#field_has_data']) {
        $lost_keys = array_keys(array_diff_key($element['#allowed_values']$values));
        if (_options_values_in_use($element['#entity_type']$element['#field_name']$lost_keys)) {
          $form_state->setError($elementnew TranslatableMarkup('Allowed values list: some values are being removed while currently in use.'));
        }
      }
Home | Imprint | This part of the site doesn't use cookies.