-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdemo102.js
108 lines (94 loc) · 3.22 KB
/
demo102.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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
var listaPersona = [];
window.onload = function () {
document.getElementById("btnGuardar").addEventListener("click", function () {
guardarPersona();
})
document.querySelectorAll("input").forEach(x => {
if (x.classList.contains("required")) {
x.setAttribute("data-valido", "0");
x.addEventListener("keyup", function () {
let contador = x.parentNode.querySelector("i");
contador.innerText = `${x.value.length} - ${x.getAttribute("maxlength")}`;
let tipo = x.getAttribute("data-tipo");
validar(x, tipo);
});
}
else{
x.setAttribute("data-valido", "1");
}
})
}
function validar(x, tipo) {
let objPatron = {};
if (tipo === "cadena") {
objPatron.patron = /^[A-Za-zÁÉÍÓÚñáéíóúÑ]+((\s)?([A-Za-zÁÉÍÓÚñáéíóúÑ]))*$/;
objPatron.mensaje = _ERRORTEXTO;
}
else if (tipo === "numero") {
objPatron.patron = /^([0-9])*$/;
objPatron.mensaje = _ERRORNUMERO;
}
else if (tipo === "decimal") {
objPatron.patron = /^[0-9]\d*(\.\d+)?$/;
objPatron.mensaje = _ERRORDECIMAL;
}
else if (tipo === "email") {
objPatron.patron = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/;
objPatron.mensaje = _ERRORMAIL;
}
let res = x.value.search(objPatron.patron);
let span;
if (res === -1) {
if (x.parentNode.querySelector("span"))
span = x.parentNode.querySelector("span");
else {
span = document.createElement("span");
x.parentNode.appendChild(span);
}
span.innerText = objPatron.mensaje;
x.setAttribute("data-valido", "0");
}
else {
if (x.parentNode.querySelector("span")) {
span = x.parentNode.querySelector("span");
x.parentNode.removeChild(span);
}
x.setAttribute("data-valido", "1");
}
}
function guardarPersona() {
if (validarInput("frmPersona")) {
let nombres = document.getElementById("txtNombres").value;
let apellidos = document.getElementById("txtApellidos").value;
let edad = document.getElementById("txtEdad").value;
let objPersona = {
nombres,
apellidos,
edad
};
listaPersona.push(objPersona);
pintarPersonas(objPersona);
}
}
function pintarPersonas(objPersona) {
let body = document.querySelector(".resultados table tbody");
body.innerHTML += `<tr><td>${objPersona.nombres}</td><td>${objPersona.apellidos}</td><td>${objPersona.edad}</td></tr>`;
}
function validarInput(control) {
let c = document.getElementById(control);
let exito = true;
let objetos = c.querySelectorAll("input");
for (let objeto of objetos) {
if (objeto.getAttribute("data-valido") == "0") {
exito = false;
break;
}
};
// objeto.querySelectorAll("input").forEach(x => {
// if (x.getAttribute("data-valido") == "0") {
// exito = false;
// break;
// }
// });
return exito;
}