-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.js
More file actions
89 lines (78 loc) · 2.66 KB
/
main.js
File metadata and controls
89 lines (78 loc) · 2.66 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
//elementos do formulario
let btnEnviar = document.querySelector(".btn-enviar");
let nome = document.querySelector("#name");
let email = document.querySelector("#email");
let senha = document.querySelector("#senha");
let confirmarSenha = document.querySelector("#repetir-senha");
//funcao que aciona a verificação do formulario ao clicar no botão enviar
btnEnviar.addEventListener("click", function(e){
e.preventDefault();
checkInput();
});
//funcao que checa os campos do formulário
function checkInput(){
if(nome.value === ''){
errorMessage(nome, 'Esse campo é obrigatório');
}
else{
successMessage(nome);
}
if(email.value === ''){
errorMessage(email, 'Esse campo é obrigatório');
}
else if(!checkEmail(email.value)){
errorMessage(email, 'Insira um e-mail válido');
}
else{
successMessage(email);
}
if(senha.value === ''){
errorMessage(senha, 'Esse campo é obrigatório');
} else if(senha.value.length < 7){
errorMessage(senha, 'Insira uma senha maior que 7 caracteres');
}
else{
successMessage(senha);
}
if(confirmarSenha.value === ''){
errorMessage(confirmarSenha, 'Esse campo é obrigatório');
} else if(confirmarSenha.value.length < 7){
errorMessage(confirmarSenha, 'Insira uma senha maior que 7 caracteres');
}
else if(senha.value != confirmarSenha.value){
errorMessage(confirmarSenha, 'As senhas não conferem');
}
else{
successMessage(confirmarSenha);
}
const formControls = document.querySelectorAll(".form-control");
const formIsValid = [ ... formControls].every((e)=>{
return (e.className === 'form-control success');
});
if(formIsValid){
let msg = document.querySelector(".msg-sucesso");
msg.style.display = 'block';
setTimeout(() => {
msg.style.display = 'none';
}, 2000);
}
}
//funcao que insere uma mensagem de erro abaixo do input
function errorMessage(input, message){
const controlForm = input.parentNode;
const msg = controlForm.querySelector('.message');
msg.textContent = message;
controlForm.classList.add("error");
}
//funcao que insere mensagem de sucesso abaixo do campo input
function successMessage(input){
const controlForm = input.parentNode;
controlForm.classList.add('success');
controlForm.classList.remove('error')
}
//funcao que checa o padrão de e-mail
function checkEmail(email){
return /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(
email
);
}