diff --git a/src/fiber_package/signup/answer/answer_open_questions.py b/src/fiber_package/signup/answer/answer_open_questions.py index a42b09f..b399dbb 100644 --- a/src/fiber_package/signup/answer/answer_open_questions.py +++ b/src/fiber_package/signup/answer/answer_open_questions.py @@ -6,4 +6,4 @@ from fiber_package.signup.enums import FormElementCategory class AnswerOpenQuestions(AnswerBase): category: Literal[FormElementCategory.open_questions] - answers: list[str] + answer_list: list[str] diff --git a/src/fiber_package/signup/elements/form_base_question.py b/src/fiber_package/signup/element/form_base_question.py similarity index 50% rename from src/fiber_package/signup/elements/form_base_question.py rename to src/fiber_package/signup/element/form_base_question.py index 483d10b..11365f0 100644 --- a/src/fiber_package/signup/elements/form_base_question.py +++ b/src/fiber_package/signup/element/form_base_question.py @@ -2,3 +2,7 @@ from .form_element import FormElement class FormBaseQuestion(FormElement): required: bool + + title: str | None = None + pretext: str | None = None + posttext: str | None = None diff --git a/src/fiber_package/signup/elements/form_element.py b/src/fiber_package/signup/element/form_element.py similarity index 100% rename from src/fiber_package/signup/elements/form_element.py rename to src/fiber_package/signup/element/form_element.py diff --git a/src/fiber_package/signup/elements/form_open_questions.py b/src/fiber_package/signup/element/form_open_questions.py similarity index 52% rename from src/fiber_package/signup/elements/form_open_questions.py rename to src/fiber_package/signup/element/form_open_questions.py index 9f4d774..8ad5de2 100644 --- a/src/fiber_package/signup/elements/form_open_questions.py +++ b/src/fiber_package/signup/element/form_open_questions.py @@ -4,6 +4,8 @@ from pydantic import BaseModel from .form_base_question import FormBaseQuestion from fiber_package.signup.enums import FormElementCategory +from fiber_package.signup.answer.answer_open_questions import AnswerOpenQuestions + class OpenQuestion(BaseModel): question_en: str question_nl: str @@ -19,9 +21,14 @@ class FormOpenQuestions(FormBaseQuestion): questions: list[OpenQuestion] - title: str | None = None - pretext: str | None = None - posttext: str | None = None + def validate_answer(self, answer: AnswerOpenQuestions) -> None: + if answer.question_name != self.name: + raise ValueError("Answer question name does not match.") + + answer_list = answer.answer_list + if len(answer_list) != len(self.questions): + raise ValueError("Length of answer question list does not match.") + diff --git a/src/fiber_package/signup/elements/form_text.py b/src/fiber_package/signup/element/form_text.py similarity index 100% rename from src/fiber_package/signup/elements/form_text.py rename to src/fiber_package/signup/element/form_text.py diff --git a/src/fiber_package/signup/elements/form_title.py b/src/fiber_package/signup/element/form_title.py similarity index 100% rename from src/fiber_package/signup/elements/form_title.py rename to src/fiber_package/signup/element/form_title.py