public function ServerForm::validateForm in GraphQL 8.4
Throws
\Drupal\Component\Plugin\Exception\PluginException
Overrides FormBase::validateForm
File
- src/
Form/ ServerForm.php, line 225  
Class
- ServerForm
 - Admin form to set up a GraphQL server configuration entity.
 
Namespace
Drupal\graphql\FormCode
public function validateForm(array &$form, FormStateInterface $formState) : void {
  $endpoint =& $formState
    ->getValue('endpoint');
  // Trim the submitted value of whitespace and slashes. Ensure to not trim
  // the slash on the left side.
  $endpoint = rtrim(trim(trim($endpoint), ''), "\\/");
  if ($endpoint[0] !== '/') {
    $formState
      ->setErrorByName('endpoint', 'The endpoint path has to start with a forward slash.');
  }
  elseif (!UrlHelper::isValid($endpoint)) {
    $formState
      ->setErrorByName('endpoint', 'The endpoint path contains invalid characters.');
  }
  $schema = $formState
    ->getValue('schema');
  /** @var \Drupal\graphql\Plugin\SchemaPluginInterface $instance */
  $instance = $this->schemaManager
    ->createInstance($schema);
  if (!empty($form['schema_configuration'][$schema]) && $instance instanceof PluginFormInterface && $instance instanceof ConfigurableInterface) {
    $state = SubformState::createForSubform($form['schema_configuration'][$schema], $form, $formState);
    $instance
      ->validateConfigurationForm($form['schema_configuration'][$schema], $state);
  }
}