-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
123 lines (90 loc) · 3.34 KB
/
script.js
File metadata and controls
123 lines (90 loc) · 3.34 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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
document.addEventListener('DOMContentLoaded', function () {
const loginForm = document.getElementById('loginForm');
const emailInput = document.getElementById('email');
const passwordInput = document.getElementById('password')
const confirmPasswordInput = document.getElementById('confirmPassword');
const emailError = document.getElementById('emailError');
const passwordError = document.getElementById('passwordError');
const confirmPasswordError = document.getElementById('confirmPasswordError');
const showHideButton = document.getElementById('show-hide')
loginForm.addEventListener('submit', function(event){
event.preventDefault();
validateForm()
})
emailInput.addEventListener('blur', function(){
validateEmail()
})
emailInput.addEventListener('change', function(){
clearError(emailError)
})
passwordInput.addEventListener('change', function(){
clearError(passwordError)
})
confirmPasswordInput.addEventListener('change', function(){
clearError(confirmPasswordError)
})
showHideButton.addEventListener('click', function(){
if (passwordInput.type == 'password') {
passwordInput.type = 'text'
confirmPasswordInput.type = 'text'
}else{
passwordInput.type = 'password'
confirmPasswordInput.type = 'password'
}
})
function validateForm() {
const isValidEmail = validateEmail()
const isValidPassword = validatePassword()
const passwordMatch = validatePasswordMatch()
if (isValidEmail && isValidPassword && passwordMatch) {
saveToLocalStorage()
alert('Has ingresado con exito!')
}
}
function validateEmail() {
const emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
const emailValue = emailInput.value.trim() // el trim elimina los espacios vacios al comienzo y final del input
if (!emailRegex.test(emailValue)) {
showError(emailError, 'Ingresa un email valido')
return false
}
return true
}
function validatePassword() {
const passwordValue = passwordInput.value.trim()
if (passwordValue.length < 6) {
showError(passwordError, 'Ingresa una contraseña de al menos 6 caracteres')
return false;
}
return true
}
function validatePasswordMatch(){
const passwordValue = passwordInput.value.trim();
const confirmPasswordValue = confirmPasswordInput.value.trim();
if (passwordValue != confirmPasswordValue) {
showError(confirmPasswordError, 'Las contraseñas no coinciden')
return false;
}
return true;
}
function showError(errorElement, message) {
errorElement.innerHTML = message;
errorElement.style.display = 'block';
}
function clearError(errorElement) {
errorElement.innerHTML = '';
errorElement.style.display = 'none';
}
function saveToLocalStorage() {
const emailValue = emailInput.value.trim();
localStorage.setItem('email', emailValue)
const body = bodyBuilderJSON()
console.log(body)
}
function bodyBuilderJSON() {
return{
"email": emailInput.value,
"password": passwordInput.value
}
}
})