Ver Mensaje Individual
  #9 (permalink)  
Antiguo 09/08/2014, 09:34
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Validar un campo input de telefono sin ser este obligatorio

Disculpa la demora en contestar, recién despierto, recuerda que no vivo en Europa y por acá es algo temprano aún.

Así es, eso es lo que te faltaba hacer, de hecho creí que lo sabías, por eso te dije que cuando hagas el envío, ejecutes la función de validación. También podrías hacerlo directamente en JavaScript:

Código Javascript:
Ver original
  1. document.getElementById("miformulario").addEventListener("submit", function(event){
  2.     event.preventDefault();
  3.     var telefono = document.getElementById("telefono_movil"),
  4.         regex = /\d{9}/;
  5.      
  6.     if (telefono.value.length){
  7.         if (regex.test(telefono.value)){
  8.             this.submit();
  9.         }
  10.     }
  11.     else{
  12.         this.submit();
  13.     }
  14. }, false);

La única diferencia está en que primero cancelo el evento submit con el método preventDefault, realizo la validación y si todo está bien, ejecuto el envío de los datos del formulario con el método submit. Como al inicio cancelo el envío de los datos, si la validación no es exitosa, simplemente no ocurre nada más pues ya se canceló el envío, por eso no hay un return false porque no es necesario, aunque podrías mostrar un mensaje de alerta en su lugar indicándole al usuario que debe de ingresar el número de teléfono correctamente.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand