Use const for survey validity and change smaller things

This commit is contained in:
cami 2021-07-05 01:19:26 +02:00
parent 6e9219fa7c
commit 0ecb73cbe7

View file

@ -27,7 +27,8 @@ export default function Umfrage() {
const [isEducationOk, setIsEducationOk] = useState(""); const [isEducationOk, setIsEducationOk] = useState("");
const [isSkillsOk, setIsSkillsOk] = useState(""); const [isSkillsOk, setIsSkillsOk] = useState("");
let surveyIsValid = true; /* genereal check if survey is valid */
const [isSurveyValid, setIsSurveyValid] = useState("");
const onSubmitClick = (e) => { const onSubmitClick = (e) => {
e.preventDefault(); e.preventDefault();
@ -38,39 +39,39 @@ export default function Umfrage() {
skills: skills, skills: skills,
}; };
setIsAgeOk(true) setIsAgeOk(true);
setIsGenderOk(true) setIsGenderOk(true);
setIsEducationOk(true) setIsEducationOk(true);
setIsSkillsOk(true) setIsSkillsOk(true);
if (!Number(age)) { if (!Number(age)) {
setAgeErrorMessage("Das Alter muss als Zahl angegeben werden."); setAgeErrorMessage("Das Alter muss als Zahl angegeben werden.");
surveyIsValid = false; setIsSurveyValid(false);
setIsAgeOk(false); setIsAgeOk(false);
} }
if (gender === "DEFAULT" || gender === "") { if (gender === "DEFAULT" || gender === "") {
setGenderErrorMessage( setGenderErrorMessage(
"Bitte wähle eine der Optionen für dein Geschlecht aus." "Bitte wähle eine der Optionen für dein Geschlecht aus."
); );
surveyIsValid = false; setIsSurveyValid(false);
setIsGenderOk(false); setIsGenderOk(false);
} }
if (education === "DEFAULT" || education === "") { if (education === "DEFAULT" || education === "") {
setEducationErrorMessage( setEducationErrorMessage(
"Bitte wähle eine der Optionen zu deiner Ausbildung aus." "Bitte wähle eine der Optionen zu deiner Ausbildung aus."
); );
surveyIsValid = false; setIsSurveyValid(false);
setIsEducationOk(false); setIsEducationOk(false);
} }
if (skills === "DEFAULT" || skills === "") { if (skills === "DEFAULT" || skills === "") {
setSkillsErrorMessage( setSkillsErrorMessage(
"Bitte wähle eine der Optionen zu den Fähigkeiten aus" "Bitte wähle eine der Optionen zu den Fähigkeiten aus"
); );
surveyIsValid = false; setIsSurveyValid(false);
setIsSkillsOk(false); setIsSkillsOk(false);
} }
if (surveyIsValid === true) { if (isSurveyValid === true) {
authFetch("/api/protected/umfrage", { authFetch("/api/protected/umfrage", {
method: "post", method: "post",
body: JSON.stringify(opts), body: JSON.stringify(opts),
@ -164,7 +165,7 @@ export default function Umfrage() {
<option>Keine Angabe</option> <option>Keine Angabe</option>
</select> </select>
</div> </div>
{!isEducationOk && <ErrorMessage message={genderErrorMessage} />} {!isEducationOk && <ErrorMessage message={educationErrorMessage} />}
<div className="input-field"> <div className="input-field">
<label htmlFor="itskills"> <label htmlFor="itskills">
Wie schätzt du deine Kompetenzen im Bereich der Informatik als Wie schätzt du deine Kompetenzen im Bereich der Informatik als