-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCadastro.js
91 lines (82 loc) · 3.88 KB
/
Cadastro.js
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
const sideMenu = document.querySelector('aside');
const menuBtn = document.getElementById('menu-btn');
const closeBtn = document.getElementById('close-btn');
const darkMode = document.querySelector('.dark-mode');
menuBtn.addEventListener('click', () => {
sideMenu.style.display = 'block';
});
closeBtn.addEventListener('click', () => {
sideMenu.style.display = 'none';
});
darkMode.addEventListener('click', () => {
document.body.classList.toggle('dark-mode-variables');
darkMode.querySelector('span:nth-child(1)').classList.toggle('active');
darkMode.querySelector('span:nth-child(2)').classList.toggle('active');
})
document.getElementById("userSignupForm").addEventListener("submit", function (e) {
e.preventDefault();
// Preparando dados do usuário
var user = {
email: document.getElementById('email').value,
senha: document.getElementById('senha').value,
cpf: document.getElementById('cpf').value,
nome: document.getElementById('nome').value,
cargo: document.getElementById('cargo').value
};
// Elemento de mensagem
let messageElement = document.getElementById("message");
// Iniciar a solicitação POST
fetch('https://localhost:7288/AdicionaUsuario', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(user),
})
.then(response => response.text())
.then(responseText => {
try {
// Tenta analisar a resposta como JSON
const responseData = JSON.parse(responseText);
if (Array.isArray(responseData) && responseData.length > 0) {
// Verifica os códigos de erro conhecidos
switch (responseData[0].code) {
case "DuplicateUserName":
messageElement.innerText = "Erro: O e-mail já está em uso.";
break;
case "PasswordTooShort":
messageElement.innerText = "Erro: A senha deve ter pelo menos 6 caracteres.";
break;
case "PasswordRequiresNonAlphanumeric":
messageElement.innerText = "Erro: A senha deve conter pelo menos um caractere não alfanumérico.";
break;
case "PasswordRequiresLower":
messageElement.innerText = "Erro: A senha deve conter pelo menos uma letra minúscula ('a'-'z').";
break;
default:
// Tratar outros erros que possam estar no array
messageElement.innerText = "Erro no cadastro: " + responseData[0].description;
}
messageElement.style.color = "red"; // Cor vermelha para erros
} else if (responseText === '"Usuário Adicionado"') {
messageElement.innerText = "Cadastro realizado com sucesso!";
messageElement.style.color = "green";
document.getElementById("userSignupForm").reset();
} else {
// Lida com qualquer outra resposta que não seja a esperada
messageElement.innerText = `Falha no cadastro: ${responseText}`;
messageElement.style.color = "red"; // Cor vermelha para falhas genéricas
}
} catch (error) {
// Se a resposta não puder ser analisada como JSON
messageElement.innerText = `Falha no cadastro: ${responseText}`;
messageElement.style.color = "red"; // Cor vermelha para falhas na análise
}
})
.catch(error => {
// Tratamento de erros
console.error('Erro na solicitação:', error);
messageElement.innerText = "Falha no cadastro: " + error.message; // Mostra as mensagens de erro da API
messageElement.style.color = "red"; // Cor vermelha para erros de rede
});
});