You are here

function quiz_question_element_validate in Quiz 7.6

Same name and namespace in other branches
  1. 7.5 question_types/quiz_question/quiz_question.module \quiz_question_element_validate()

Element validator (for repeat until correct).

1 string reference to 'quiz_question_element_validate'
QuizQuestion::getAnsweringForm in question_types/quiz_question/quiz_question.core.inc
Get the form through which the user will answer the question.

File

question_types/quiz_question/quiz_question.module, line 1012
Quiz Question module. This module provides the basic facilities for adding quiz question types to a quiz.

Code

function quiz_question_element_validate(&$element, &$form_state) {
  $quiz = node_load(arg(1));
  $question_nid = $element['#array_parents'][1];
  $answer = $form_state['values']['question'][$question_nid]['answer'];
  $current_question = node_load($question_nid);

  // There was an answer submitted.
  $result = _quiz_question_response_get_instance($_SESSION['quiz'][$quiz->nid]['result_id'], $current_question, $answer);
  if ($quiz->repeat_until_correct && !$result
    ->isCorrect()) {
    form_set_error('', t('The answer was incorrect. Please try again.'));
    $feedback = quiz_question_feedback($quiz, $current_question);
    $element['feedback'] = array(
      '#weight' => 100,
      '#markup' => drupal_render($feedback),
    );
  }
}