You are here

protected function WebformAjaxFormTrait::isCallableAjaxCallback in Webform 8.5

Same name and namespace in other branches
  1. 6.x src/Form/WebformAjaxFormTrait.php \Drupal\webform\Form\WebformAjaxFormTrait::isCallableAjaxCallback()

Determine if Ajax callback is callable.

Parameters

array $form: An associative array containing the structure of the form.

\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.

Return value

bool TRUE if if Ajax callback exists.

2 calls to WebformAjaxFormTrait::isCallableAjaxCallback()
WebformAjaxFormTrait::validateAjaxForm in src/Form/WebformAjaxFormTrait.php
Validate form #ajax callback.
WebformSubmissionForm::validateAjaxForm in src/WebformSubmissionForm.php
Validate form #ajax callback.

File

src/Form/WebformAjaxFormTrait.php, line 262

Class

WebformAjaxFormTrait
Trait class for Webform Ajax support.

Namespace

Drupal\webform\Form

Code

protected function isCallableAjaxCallback(array &$form, FormStateInterface $form_state) {

  // Make sure the ajax callback exists.
  // @see \Drupal\Core\Form\FormAjaxResponseBuilder::buildResponse
  $callback = NULL;
  if (($triggering_element = $form_state
    ->getTriggeringElement()) && isset($triggering_element['#ajax']['callback'])) {
    $callback = $triggering_element['#ajax']['callback'];
  }
  $callback = $form_state
    ->prepareCallback($callback);
  return empty($callback) || !is_callable($callback) ? FALSE : TRUE;
}