Skip to content

Commit 0be1c6e

Browse files
committed
se añadio funcion de valicon de datos y seleccion de codigo de pais
1 parent fa072d1 commit 0be1c6e

File tree

3 files changed

+56
-21
lines changed

3 files changed

+56
-21
lines changed

index.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ <h1 id="form-title">Validacion</h1>
2424
Debe ser el siguiente formato: [email protected]
2525
</p>
2626
</div>
27-
<div class="input-div" class="form-input">
27+
<div class="input-div" >
2828
<!-- country codes (ISO 3166) and Dial codes. -->
2929
<select name="countryCode" id="countries" class="form-input">
3030
<option value="" disabled Selected >Selecciona un pais</option>

index.js

+38-20
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,35 @@ const countries = document.querySelector('#countries');
1010
// paso 2
1111
const usernameInput = document.querySelector('#username');
1212
const emailInput=document.querySelector('#email');
13+
const phoneCode = document.querySelector('#phone-code')
1314

1415
// -- validaciones
1516
let usernameValidation = false;
17+
let emailValidation= false;
18+
// let countriesValidation=false;
1619

20+
// paso3.1
21+
// funcion para validacion estados input
1722

23+
const validacion=(e, validacion,element)=>{
24+
25+
// const texto= usernameInput.parentElement.children[1]
26+
const informacion= e.target.parentElement.children[1]
27+
28+
if(validacion.value== ''){
29+
element.classList.remove('correct')
30+
element.classList.remove('incorrect')
31+
informacion.classList.remove('show-informacion')
32+
}else if(validacion){
33+
element.classList.add('correct')
34+
element.classList.remove('incorrect')
35+
informacion.classList.remove('show-informacion')
36+
}else{
37+
element.classList.add('incorrect')
38+
element.classList.remove('correct')
39+
informacion.classList.add('show-informacion')
40+
}
41+
}
1842

1943
// paso 1
2044
[... countries].forEach(option=>{
@@ -23,24 +47,18 @@ let usernameValidation = false;
2347
// paso 3
2448
// estado
2549
usernameInput.addEventListener('input',e =>{
26-
// console.log(e.target.value);
27-
2850
usernameValidation= USERNAME_REGEX.test(e.target.value)
29-
console.log(usernameValidation);
30-
const texto= usernameInput.parentElement.children[1]
31-
// const informacion= e.target.parentElement.children[1]
32-
console.log(texto);
33-
if(usernameValidation.value== ''){
34-
usernameInput.classList.remove('correct')
35-
usernameInput.classList.remove('incorrect')
36-
texto.classList.remove('show-informacion')
37-
}else if(usernameValidation){
38-
usernameInput.classList.add('correct')
39-
usernameInput.classList.remove('incorrect')
40-
texto.classList.remove('show-informacion')
41-
}else{
42-
usernameInput.classList.add('incorrect')
43-
usernameInput.classList.remove('correct')
44-
texto.classList.add('show-informacion')
45-
}
46-
})
51+
validacion(e,usernameValidation,usernameInput)//e= evento, usernameValidation =validacion ,usernameInput = input
52+
53+
})
54+
55+
emailInput.addEventListener('input',e =>{
56+
emailValidation= EMAIL_REGEX.test(e.target.value)
57+
validacion(e,emailValidation,emailInput)
58+
})
59+
// paso3.2 evento para seleccionar el pais y codigo de telf
60+
countries.addEventListener('input',e =>{
61+
const optionSelected =[... e.target.children].find(option => option.selected);
62+
phoneCode.innerHTML=`+${optionSelected.value}`
63+
})
64+

styles.css

+17
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,25 @@ body{
7373
cursor: pointer;
7474
border-radius: 0.5rem;
7575
}
76+
.correct{
77+
outline:2px solid blue ;
78+
}
79+
.incorrect{
80+
outline:2px solid red;
81+
}
82+
.show-informacion{
83+
display: flex;
84+
flex-direction: column;
85+
gap: 0.5rem;
86+
border: 1px solid white;
87+
padding: 0.5rem;
88+
background-color:#115e59;
89+
display: block
90+
;
91+
}
7692
@media (min-width:640px){
7793
#form{
7894
width: 60%;
7995
}
96+
8097
}

0 commit comments

Comments
 (0)