Skip to content

Commit c692078

Browse files
committed
feat(forms): enhance validation by considering visibility of mandatory questions
1 parent 15171c8 commit c692078

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

src/Glpi/Form/AnswersHandler/AnswersHandler.php

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,12 +88,16 @@ public function validateAnswers(
8888
Form|Section $questions_container,
8989
array $answers
9090
): ValidationResult {
91+
$form = ($questions_container instanceof Section) ? $questions_container->getItem() : $questions_container;
9192
$result = new ValidationResult();
93+
$engine = new Engine($form, new EngineInput($answers));
94+
$visibility = $engine->computeVisibility();
9295

93-
// Check if mandatory questions are answered
96+
// Retrieve visible mandatory questions
9497
$mandatory_questions = array_filter(
9598
$questions_container->getQuestions(),
96-
static fn($question) => $question->fields['is_mandatory']
99+
fn($question) => $question->fields['is_mandatory']
100+
&& $visibility->isQuestionVisible($question->getID())
97101
);
98102

99103
foreach ($mandatory_questions as $question) {

0 commit comments

Comments
 (0)