Ver Mensaje Individual
  #7 (permalink)  
Antiguo 07/04/2017, 10:08
Avatar de manuparquegiralda
manuparquegiralda
 
Fecha de Ingreso: junio-2012
Ubicación: Barcelona
Mensajes: 241
Antigüedad: 11 años, 10 meses
Puntos: 39
Respuesta: Javscript errores formulario e-mail

Intentaré echarte una mano para que entiendas mejor el javascript
Código Javascript:
Ver original
  1. // JavaScript Document
  2. function validarEmail( email ) {
  3.     expr = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
  4.     if ( !expr.test(email) )
  5.         return false;
  6.     else
  7.         return true;
  8. }
  9.  
  10. function validarusuarioalta() {
  11.     const emailInput = document.forminsertar.strEmail;
  12.      
  13.     //Si el campo de texto del e-mail no posee contenido
  14.  
  15.     if ( !emailInput.value ){
  16.         $( "#errorE-mail" ).show( "slow" );
  17.         return false; // Detenemos la función en este punto
  18.     }
  19.  
  20.     //Se evalúa su formato. Si no es válido, se muestra el mensaje de error respectivo
  21.  
  22.     if ( !validarEmail( emailInput.value )){
  23.         $( "#erroremailreal" ).show( "slow" );
  24.         return false; // Esto detiene la función en este punto
  25.     }
  26.    
  27.     $( "#errorPassword" ).hide( "slow" );
  28.     if ( !document.forminsertar.strPassword.value ){
  29.         $( "#errorPassword" ).show( "slow" );
  30.         return false; // Esto detiene la función en este punto
  31.     }
  32.  
  33.     $("#errorNombre").hide("slow");
  34.     if ( !document.forminsertar.strNombre.value ){
  35.         $("#errorNombre").show("slow");
  36.         return false; // Esto detiene la función en este punto
  37.     }
  38.  
  39.     return true;
  40. }

A lo mejor así lo ves un poco más claro en principio debería funcionarte siempre que la expresión regular con la que validas el email sea correcta ( no me he parado a comprobarla) . Como puedes comprobar he prescindido de la variable "valid" y retornas false o true en función de que sea correcta la validación o no.

En javascript es conveniente definir las variables dentro de cada función, si no éstas se comportarán como variables globales y podrás tener errores en tu código. Con ECMA 6 hay tres formas de definir las variables. var, const, let.


var - Define variables normales con un scope dentro de la función donde se haya definido.

const - Define variables constantes con un scope dentro de la función o el bloque donde se haya definido. En lo que refiere al scope se comporta igual que var solo que éstas no se pueden modificar a no ser que sean objetos.

let - Define variables normales con un scope dentro de un bloque que puede ser un if o un for por ejemplo. Si defines una variable con let dentro de un bloque if, esta variable no estará disponible fuera del bloque.

Como consejo acostúmbrate a definir las variables.

Otro consejo cuando compares si algo es igual a algo, en javascript lo ideal es usar tres signos de igual ( === ).
__________________
Diseño Web - Arisman Web