aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/Question.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/Question.tsx')
-rw-r--r--src/components/Question.tsx28
1 files changed, 13 insertions, 15 deletions
diff --git a/src/components/Question.tsx b/src/components/Question.tsx
index 45a030b..12cde5d 100644
--- a/src/components/Question.tsx
+++ b/src/components/Question.tsx
@@ -49,35 +49,33 @@ class RenderedQuestion extends React.Component<QuestionProp> {
blurHandler(event: FocusEvent<HTMLInputElement | HTMLTextAreaElement | HTMLDivElement>): void {
if (this.props.question.required) {
+ let invalid = false;
switch (this.props.question.type) {
case QuestionType.ShortText:
if (event.target.value === "") {
- this.setPublicState("error", "Field must be filled.");
- this.setPublicState("valid", false);
- } else {
- this.setPublicState("valid", true);
- this.setPublicState("error", "");
+ invalid = true;
}
break;
case QuestionType.TextArea:
if (event.target.value === "") {
- this.setPublicState("error", "Field must be filled.");
- this.setPublicState("valid", false);
- } else {
- this.setPublicState("valid", true);
- this.setPublicState("error", "");
+ invalid = true;
}
break;
case QuestionType.Select:
if (!this.props.public_state.get("value")) {
- this.setPublicState("error", "Field must be filled.");
- this.setPublicState("valid", false);
- } else {
- this.setPublicState("error", "");
- this.setPublicState("valid", true);
+ invalid = true;
}
+ break;
+ }
+
+ if (invalid) {
+ this.setPublicState("error", "Field must be filled.");
+ this.setPublicState("valid", false);
+ } else {
+ this.setPublicState("error", "");
+ this.setPublicState("valid", true);
}
}
}