aboutsummaryrefslogtreecommitdiffstats
path: root/src/components
diff options
context:
space:
mode:
authorGravatar ks129 <[email protected]>2021-01-18 17:53:43 +0200
committerGravatar ks129 <[email protected]>2021-01-18 17:53:43 +0200
commite37170d3becd6f43d9f7779d38afd2cd787e6248 (patch)
tree57b24e79abc4d1cd3dc7597ef0712ffaacff8b79 /src/components
parentChange ErrorMessage CSS properties (diff)
Add required validator for ShortText
Diffstat (limited to 'src/components')
-rw-r--r--src/components/Question.tsx17
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 {