diff options
| author | 2021-01-18 17:53:43 +0200 | |
|---|---|---|
| committer | 2021-01-18 17:53:43 +0200 | |
| commit | e37170d3becd6f43d9f7779d38afd2cd787e6248 (patch) | |
| tree | 57b24e79abc4d1cd3dc7597ef0712ffaacff8b79 | |
| parent | Change ErrorMessage CSS properties (diff) | |
Add required validator for ShortText
| -rw-r--r-- | src/components/Question.tsx | 17 | 
1 files changed, 16 insertions, 1 deletions
| diff --git a/src/components/Question.tsx b/src/components/Question.tsx index 0c32ed5..3994950 100644 --- a/src/components/Question.tsx +++ b/src/components/Question.tsx @@ -80,6 +80,12 @@ class RenderedQuestion extends React.Component<QuestionProp> {              event.target.parentElement.classList.toggle("unselected");              event.target.parentElement.classList.toggle("selected");          } + +        switch (event.target.type) { +            case "text": +                this.setPublicState("valid", true); +                break; +        }      }      text_area_handler(event: ChangeEvent<HTMLTextAreaElement>): void { @@ -93,7 +99,16 @@ class RenderedQuestion extends React.Component<QuestionProp> {      // eslint-disable-next-line @typescript-eslint/no-empty-function      // eslint-disable-next-line @typescript-eslint/no-unused-vars      on_blur_handler(event: FocusEvent<HTMLInputElement>): void { -         +        if (this.props.question.required) { +            switch (event.target.type) { +                case "text": +                    if (event.target.value === "") { +                        this.setPublicState("error", "Field must be filled."); +                        this.setPublicState("valid", false); +                    } +                    break; +            } +        }      }      on_blur_textarea_handler(event: FocusEvent<HTMLTextAreaElement>): void { | 
