diff options
-rw-r--r-- | src/components/InputTypes/index.tsx | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/components/InputTypes/index.tsx b/src/components/InputTypes/index.tsx index a597c94..2481d64 100644 --- a/src/components/InputTypes/index.tsx +++ b/src/components/InputTypes/index.tsx @@ -24,6 +24,15 @@ export default function create_input({ question, public_state }: QuestionProp, h // eslint-disable-next-line // @ts-ignore let options: string[] = question.data["options"]; + let valid = true; + if (!public_state.get("valid")) { + valid = false; + } + const rawError = public_state.get("error"); + let error = ""; + if (typeof rawError === "string") { + error = rawError; + } // Catch input types that require options but don't have any if ((options === undefined || typeof options !== "object") && require_options.includes(question.type)) { @@ -34,7 +43,7 @@ export default function create_input({ question, public_state }: QuestionProp, h /* eslint-disable react/react-in-jsx-scope */ switch (question.type) { case QuestionType.TextArea: - result = <TextArea handler={handler} required={question.required} />; + result = <TextArea handler={handler} required={question.required} valid={valid} error={error} />; break; case QuestionType.Checkbox: @@ -63,7 +72,7 @@ export default function create_input({ question, public_state }: QuestionProp, h break; default: - result = <TextArea handler={handler} required={question.required}/>; + result = <TextArea handler={handler} required={question.required} valid={valid} error={error}/>; } /* eslint-enable react/react-in-jsx-scope */ |