Skip to content

Commit 2e65a35

Browse files
committed
Improve errors on signup form validation
1 parent 6881b21 commit 2e65a35

File tree

1 file changed

+20
-5
lines changed

1 file changed

+20
-5
lines changed

src/script.js

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,17 +19,32 @@ let resetMessage = () => {
1919
document.getElementById("empty-error-message").hidden = true;
2020
};
2121

22+
let isNewEmail = (email) => {
23+
return usersTable.filter((user) => user.username === email).length === 0;
24+
};
25+
26+
let isEmptyEmail = (email) => {
27+
return email.length === 0;
28+
};
29+
30+
let addNewEmail = (email) => {
31+
usersTable.push({ username: email });
32+
};
33+
2234
addEventListener("submit", (event) => {
2335
event.preventDefault();
2436
resetMessage();
2537

2638
let email = document.getElementById("email").value;
2739

28-
// TODO: Show Correct Status Messages on Signup Form
29-
// 1. successful signup
30-
// 2. empty email
31-
// 3. taken email
32-
// 4. repeat email
40+
if (isEmptyEmail(email)) {
41+
renderEmailEmptyError();
42+
} else if (isNewEmail(email)) {
43+
renderSuccess();
44+
addNewEmail(email);
45+
} else {
46+
renderEmailTakenError();
47+
}
3348
});
3449

3550
let toggleNav = () => {

0 commit comments

Comments
 (0)