-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
58 lines (50 loc) · 2.01 KB
/
script.js
File metadata and controls
58 lines (50 loc) · 2.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
window.addEventListener("DOMContentLoaded", () => {
const password = document.getElementById("password");
const requiredField = document.querySelectorAll(".required-field");
const email = document.getElementById("emailAdd");
const userName = document.getElementById("userName");
const signUp = document.getElementById("signUp");
const errorMessages = [
`<span>An email address must contain a single @</span>`,
`<span>Name with your email is suggested</span>`,
`<p> at least one uppercase letter</p>
<p> at least one lowercase letter</p>
<p> at least one digit</p>
<p> 8 alphanumeric characters</p>`
]
// input field Information upon clicking
function inputFieldInformation(inputArea, field, text) {
inputArea.addEventListener("click", () => {
inputArea.style.border = "2px solid #006570";
requiredField[field].innerHTML = text;
});
}
// style input field if error occur
const errorStyle = (inputField, field, errorMessage = "Must contain value") => {
inputField.style.border = "2px solid red";
requiredField[field].style.display = "inline-block";
requiredField[field].style.color = "red";
requiredField[field].innerHTML = errorMessage;
}
// error message when fields are empty
const validation = (inputField, fieldNumber) => {
if (!inputField.value) {
errorStyle(inputField, fieldNumber)
}
}
// validating password
const validatePassword = () => {
const passwordRegex = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[0-9a-zA-Z]{8,}$/;
if (!password.value && password.value !== passwordRegex) {
errorStyle(password, 2, errorMessages[2])
}
}
inputFieldInformation(email, 0, errorMessages[0]);
inputFieldInformation(userName, 1, errorMessages[1]);
inputFieldInformation(password, 2, errorMessages[2]);
signUp.addEventListener("click", () => {
validation(email, 0, errorMessages[0])
validation(userName, 1, errorMessages[1])
validatePassword();
});
})