function quiz_question_element_validate in Quiz 7.6
Same name and namespace in other branches
- 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),
);
}
}