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