You are here

public static function MultichoiceQuestion::getAnsweringFormValidate in Quiz 8.6

Same name and namespace in other branches
  1. 8.5 question_types/quiz_multichoice/src/Plugin/quiz/QuizQuestion/MultichoiceQuestion.php \Drupal\quiz_multichoice\Plugin\quiz\QuizQuestion\MultichoiceQuestion::getAnsweringFormValidate()
  2. 6.x question_types/quiz_multichoice/src/Plugin/quiz/QuizQuestion/MultichoiceQuestion.php \Drupal\quiz_multichoice\Plugin\quiz\QuizQuestion\MultichoiceQuestion::getAnsweringFormValidate()

Validate a user's answer.

Parameters

array $element: The form element of this question.

mixed $form_state: Form state.

Overrides QuizQuestionEntityTrait::getAnsweringFormValidate

File

question_types/quiz_multichoice/src/Plugin/quiz/QuizQuestion/MultichoiceQuestion.php, line 801

Class

MultichoiceQuestion
@QuizQuestion ( id = "multichoice", label = Plugin annotation @Translation("Multiple choice question"), handlers = { "response" = "\Drupal\quiz_multichoice\Plugin\quiz\QuizQuestion\MultichoiceResponse" } )

Namespace

Drupal\quiz_multichoice\Plugin\quiz\QuizQuestion

Code

public static function getAnsweringFormValidate(array &$element, FormStateInterface $form_state) {
  $mcq = $form_state
    ->getBuildInfo()['args'][0];
  if (!$mcq
    ->get('choice_multi')
    ->getString() && empty($element['user_answer']['#value'])) {
    $form_state
      ->setError($element, t('You must provide an answer.'));
  }
  parent::getAnsweringFormValidate($element, $form_state);
}