From 172bf147ac28231125687ff327fce8120d6723cc Mon Sep 17 00:00:00 2001 From: Antonio Figueroa Date: Fri, 20 Oct 2023 10:05:19 -0300 Subject: [PATCH 1/2] trabajando archivo registro.js --- ricco/frontend/assets/js/registro.js | 100 ++++++++++++++++----------- 1 file changed, 59 insertions(+), 41 deletions(-) diff --git a/ricco/frontend/assets/js/registro.js b/ricco/frontend/assets/js/registro.js index 345bf20a..28004acb 100644 --- a/ricco/frontend/assets/js/registro.js +++ b/ricco/frontend/assets/js/registro.js @@ -1,7 +1,6 @@ // ----VALIDACION DE REGISTRO DE USUARIO------- +//asignamos cada campo de registro.html a una variable document.addEventListener('DOMContentLoaded', function() { - // const emailInput = document.getElementById('logEmail'); - //const contrasenaInput = document.getElementById('contrasenaIngreso'); const nombreInput=document.getElementById('nombre'); const apellidoInput= document.getElementById('apellido'); const correoInput=document.getElementById ('correo'); @@ -12,11 +11,11 @@ document.addEventListener('DOMContentLoaded', function() { const cpInput= document.getElementById ('cp'); const passwordInput= document.getElementById ('password'); const password2Input= document.getElementById ('password2'); + const submitButton = document.getElementById('submitButton'); const mensajeError = document.getElementById('mensajeError'); - const submitButton = document.getElementById('submitButton'); + - //const emailRegExpression = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/; - //const passwordRegExpression = /^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$/; + //asignamos las expresiones regulares regex para cada campo const nombreRegexpression= /^[a-zA-ZÀ-ÿ\s]{1,40}$/; // Letras y espacios, pueden llevar acentos. const apellidoRegExpression= /^[a-zA-ZÀ-ÿ\s]{1,40}$/; const correoRegExpression= /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/; @@ -27,7 +26,8 @@ document.addEventListener('DOMContentLoaded', function() { const cpRegExpression= /^(?:0[1-9]|[1-4]\d|5[0-2])\d{3}$/ const passRegExpression= /^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$/; const pass2RegExpression= /^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$/; - + + // validamos cada variable con su respectivo expresion regular regex function validarNombre(){ const nombre = nombreInput.value; if (nombreRegexpression.test(nombre)) { @@ -121,7 +121,7 @@ document.addEventListener('DOMContentLoaded', function() { function validarPassword2(){ const inputPassword1 = document.getElementById('password'); const inputPassword2 = document.getElementById('password2'); - + //validamos que sean iguales la contraseña y su verificacion if(inputPassword1.value == inputPassword2.value){ mensajeError.textContent=''; } else{ @@ -131,26 +131,7 @@ document.addEventListener('DOMContentLoaded', function() { } - // function validarEmail() { - // const email = emailInput.value; - // if (emailRegExpression.test(email)) { - // mensajeError.textContent = ''; - // } else { - // mensajeError.textContent = 'Ingrese un E-mail válido por favor.'; - //ocultarMensajeError(); - // } - //} - - // function validarContrasena(){ - // const contrasena = contrasenaInput.value; - // if (passwordRegExpression.test(contrasena)) { - // mensajeError.textContent=''; - //}else{ - // mensajeError.textContent='La contraseña debe contener 8 caracteres, e incluir números y letras mayúsculas o minúsculas'; - //ocultarMensajeError(); - //} - //} - + // quedamos a la escucha de cada campo para validar nombreInput.addEventListener('input', validarNombre); apellidoInput.addEventListener('input', validarApellido); @@ -162,18 +143,55 @@ document.addEventListener('DOMContentLoaded', function() { cpInput.addEventListener('input', validarCp); passwordInput.addEventListener('input', validarPassword); password2Input.addEventListener('input', validarPassword2); - //emailInput.addEventListener('input', validarEmail); - //ontrasenaInput.addEventListener('input', validarContrasena); - - - // submitButton.addEventListener('click', function(event) { - // if (emailRegExpression.test(emailInput.value) && passwordRegExpression.test(contrasenaInput.value)) { - // emailInput.value = ''; - // contrasenaInput.value = ''; - // mensajeError.textContent = ''; - // } else { - // event.preventDefault(); - // mensajeError.textContent = 'Ambos campos deben ser completados correctamente.'; - // ocultarMensajeError(); - // } + + + // creamos Lista para almacenar los datos + const listaUsuarios = []; + + function guardarUsuario() { + const usuario = { + nombre: nombreInput.value, + apellido: apellidoInput.value, + correo: correoInput.value, + direccion: direccionInput.value, + barrio: barrioInput.value, + localidad: localidadInput.value, + telefono: telefonoInput.value, + cp: cpInput.value, + password: passwordInput.value, + password2: password2Input.value, + }; + + // Verificamos si el correo ya existe en la lista + const correoExiste = listaUsuarios.some(user => user.correo === usuario.correo); + + if (correoExiste) { + mensajeError.textContent = 'El correo ya existe. Por favor, elija otro.'; + console.log('EXISTE...!') + return false; // Retorna false para prevenir el envío del formulario + } + + listaUsuarios.push(usuario); + return true; // Retorna true para permitir el envío del formulario + } + + ////// escucha + submitButton.addEventListener('click', function(event) { + event.preventDefault(); // Previene el envío del formulario + + if (guardarUsuario()) { + console.log(guardarUsuario()) + // Elegir que accion hacer + // Como envio los datos al servidor o redirigir a otra página + console.log('Usuario guardado correctamente:', listaUsuarios); + } + }); + + + + + + + + }); \ No newline at end of file From 819cfcf14c6334c0736668b4275932d88ab56e06 Mon Sep 17 00:00:00 2001 From: Antonio Figueroa Date: Sat, 21 Oct 2023 02:57:25 -0300 Subject: [PATCH 2/2] =?UTF-8?q?verificaci=C3=B3n=20correo=20existente=20y?= =?UTF-8?q?=20envio=20a=20login.html?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ricco/frontend/assets/js/registro.js | 149 ++++++++++++++++++--------- 1 file changed, 98 insertions(+), 51 deletions(-) diff --git a/ricco/frontend/assets/js/registro.js b/ricco/frontend/assets/js/registro.js index 28004acb..31426880 100644 --- a/ricco/frontend/assets/js/registro.js +++ b/ricco/frontend/assets/js/registro.js @@ -20,12 +20,23 @@ document.addEventListener('DOMContentLoaded', function() { const apellidoRegExpression= /^[a-zA-ZÀ-ÿ\s]{1,40}$/; const correoRegExpression= /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/; const direccionRegExpression= /^[A-Za-z0-9\s]+$/g; - const localidadRegExpression= /^[a-zA-ZÀ-ÿ\s]{1,40}$/; - const barrioRegExpression= /^[a-zA-ZÀ-ÿ\s]{1,40}$/; + const barrioRegExpression = /^[a-zA-ZÀ-ÿ\s]{1,40}$/; + const localidadRegExpression= /^[a-zA-ZÀ-ÿ\s]{1,40}$/; const telefonoRegExpression= /^[0-9]+$/; const cpRegExpression= /^(?:0[1-9]|[1-4]\d|5[0-2])\d{3}$/ const passRegExpression= /^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$/; const pass2RegExpression= /^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$/; + + /*Roles: + 1:Administrador + 2:Cliente */ + + var listUsers= + [//nombre apellido correo contraseña rol + ['NombreAdm1','ApellidoAdm1','administrador@gmail.com','1234Admi','1'], + ['NombreCliente1','ApellidoCliente1','cliente@gmail.com','1234Cliente','2'] + ]; + // validamos cada variable con su respectivo expresion regular regex function validarNombre(){ @@ -47,16 +58,25 @@ document.addEventListener('DOMContentLoaded', function() { ocultarMensajeError(); } } - - function validarCorreo() { - const correo = correoInput.value; - if (correoRegExpression.test(correo)) { - mensajeError.textContent = ''; + + function validarCorreo() { + const correo = correoInput.value; + if (correoRegExpression.test(correo)) { + const correoExistente = listUsers.some(user => user[2] === correo); + if (correoExistente) { + mensajeError.textContent = 'El correo ya está registrado. Por favor, inicia sesión.'; + + window.location.href = 'login.html'; + } else { + mensajeError.textContent = ''; + } } else { - mensajeError.textContent = 'Ingrese un E-mail válido por favor.'; - ocultarMensajeError(); - } - } + mensajeError.textContent = 'Ingrese un E-mail válido por favor.'; + ocultarMensajeError(); + } + } + + function validarDireccion() { const direccion = direccionInput.value; @@ -70,7 +90,7 @@ document.addEventListener('DOMContentLoaded', function() { function validarBarrio() { const barrio = barrioInput.value; - if (direccionRegExpression.test(barrio)) { + if (barrioRegExpression.test(barrio)) { mensajeError.textContent = ''; } else { mensajeError.textContent = 'Ingrese un nombre de Barrio válido por favor.'; @@ -80,7 +100,7 @@ document.addEventListener('DOMContentLoaded', function() { function validarLocalidad() { const localidad = localidadInput.value; - if (direccionRegExpression.test(direccion)) { + if (localidadRegExpression.test(localidad)) { mensajeError.textContent = ''; } else { mensajeError.textContent = 'Ingrese una Localidad válida por favor.'; @@ -130,7 +150,8 @@ document.addEventListener('DOMContentLoaded', function() { } } - + + // quedamos a la escucha de cada campo para validar nombreInput.addEventListener('input', validarNombre); @@ -145,47 +166,73 @@ document.addEventListener('DOMContentLoaded', function() { password2Input.addEventListener('input', validarPassword2); - // creamos Lista para almacenar los datos - const listaUsuarios = []; - - function guardarUsuario() { - const usuario = { - nombre: nombreInput.value, - apellido: apellidoInput.value, - correo: correoInput.value, - direccion: direccionInput.value, - barrio: barrioInput.value, - localidad: localidadInput.value, - telefono: telefonoInput.value, - cp: cpInput.value, - password: passwordInput.value, - password2: password2Input.value, - }; - - // Verificamos si el correo ya existe en la lista - const correoExiste = listaUsuarios.some(user => user.correo === usuario.correo); - - if (correoExiste) { - mensajeError.textContent = 'El correo ya existe. Por favor, elija otro.'; - console.log('EXISTE...!') - return false; // Retorna false para prevenir el envío del formulario - } +/*Roles: + 1:Administrador + 2:Cliente */ + + var listUsers= + [//nombre apellido correo contraseña rol + ['NombreAdm1','ApellidoAdm1','administrador@gmail.com','1234Admi','1'], + ['NombreCliente1','ApellidoCliente1','cliente@gmail.com','1234Cliente','2'] + ]; - listaUsuarios.push(usuario); - return true; // Retorna true para permitir el envío del formulario + + function enviarFormulario(event) { + + mensajeExito.textContent = 'Datos enviados exitosamente.'; + + window.location.href = 'login.html'; } + + submitButton.addEventListener('click', enviarFormulario); + - ////// escucha - submitButton.addEventListener('click', function(event) { - event.preventDefault(); // Previene el envío del formulario - if (guardarUsuario()) { - console.log(guardarUsuario()) - // Elegir que accion hacer - // Como envio los datos al servidor o redirigir a otra página - console.log('Usuario guardado correctamente:', listaUsuarios); - } - }); + + + + + // // creamos Lista para almacenar los datos + // const listaUsuarios = []; + + // function guardarUsuario() { + // const usuario = { + // nombre: nombreInput.value, + // apellido: apellidoInput.value, + // correo: correoInput.value, + // direccion: direccionInput.value, + // barrio: barrioInput.value, + // localidad: localidadInput.value, + // telefono: telefonoInput.value, + // cp: cpInput.value, + // password: passwordInput.value, + // password2: password2Input.value, + // }; + + // // Verificamos si el correo ya existe en la lista + // const correoExiste = listaUsuarios.some(user => user.correo === usuario.correo); + + // if (correoExiste) { + // mensajeError.textContent = 'El correo ya existe.'; + // console.log('EXISTE...!') + // return false; // Retorna false para prevenir el envío del formulario + // } + + // listaUsuarios.push(usuario); + // return true; // Retorna true para permitir el envío del formulario + // } + + // ////// escucha + // submitButton.addEventListener('click', function(event) { + // event.preventDefault(); // Previene el envío del formulario + + // if (guardarUsuario()) { + // console.log(guardarUsuario()) + // // Elegir que accion hacer + // // Como envio los datos al servidor o redirigir a otra página + // console.log('Usuario guardado correctamente:', listaUsuarios); + // } + // });