19 lines
849 B
Python

from fiber_package.signup.element.form_base_question import FormBaseQuestion
from fiber_package.signup.element.form_open_questions import FormOpenQuestions
from fiber_package.signup.answer.answer_base import AnswerBase
from fiber_package.signup.enums import FormElementCategory
from fiber_package.signup.answer.answer_open_questions import AnswerOpenQuestions
def validate_answer(question: FormBaseQuestion, answer: AnswerBase) -> None:
if question.category != answer.category:
raise ValueError("Question and answer category do not match!")
if question.category == FormElementCategory.open_questions:
question_val = FormOpenQuestions.model_validate(question.model_dump())
answer_val = AnswerOpenQuestions.model_validate(answer.model_dump())
question_val.validate_answer(answer_val)
# TODO: implement