You are here

public static function CommerceElementTrait::validateElementSubmit in Commerce Core 8.2

Confirms that #commerce_element_submit handlers can be run.

Parameters

array $element: The form element.

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

Throws

\Exception Thrown if button-level #validate handlers are detected on the parent form, as a protection against buggy behavior.

File

src/Element/CommerceElementTrait.php, line 62

Class

CommerceElementTrait
Allows form elements to use #commerce_element_submit.

Namespace

Drupal\commerce\Element

Code

public static function validateElementSubmit(array &$element, FormStateInterface $form_state) {

  // Button-level #validate handlers replace the form-level ones, which means
  // that executeElementSubmitHandlers() won't be triggered.
  if (self::shouldExecuteElementSubmit($form_state) && $form_state
    ->getValidateHandlers()) {
    throw new \Exception('The triggering element must not have #validate handlers');
  }
}