Agencia Creativa de Diseño Web

Hacemos accesible Internet a las Empresas

quieres ver arbol

 

Martes, 19 Septiembre 2017 09:49

Validar Formulario en Bootstrap con Javascript

Escrito por 
Valora este artículo
(1 Voto)

Veremos cómo validar los campos de un formulario creado con Bootstrap y usando JavaScript y Jquery para la validación de los diferentes campos del formulario. Partimos de la base de que tenemos instalado Bootstrap 3.0 con Jquery para realizar este ejemplo.

 

Para realizar un ejemplo, crearemos un formulario con los siguientes campos:

  • Nombre
  • Email
  • Mensaje
  • Acepto LOPD

El formulario está creado con las características de estilo y clases de Bootstrap 3.0 He marcado en color verde el nombre que damos a cada campo, ya que lo utilizaremos en el código JavaScript para validarlos. También es importante poner unas etiquetas de span debajo de cada campo del formulario, son las que marco de color azul. Estas etiquetas recogerán el texto del error a la hora de validar el campo. Este texto se define en el JavaScript del fichero validator.js que veremos más adelante.

<form method="post" id="formulario-contacto" role="form" autocomplete="off">
<div class="form-group has-success">
<input class="form-control hidden" type="text" name="pack" value="contacto" readonly placeholder="Nombre" />
<input class="form-control" type="text" name="nombre" placeholder="Nombre" />
<span id="error" class="help-block"></span></div>

<div class="form-group has-error">
<input class="form-control" type="email" name="email" placeholder="Correo electrónico" />
<span id="error" class="help-block"></span></div>

<div class="form-group">
<textarea class="form-control" rows="14" name="mensaje" placeholder="Mensaje"></textarea>
<span id="error" class="help-block"></span></div>

<div class="checkbox">
<label>
<input type="checkbox" name="aceptolopd" value="Acepto Lopd" required />
He leído y acepto la política de protección de datos.</label>

</div>
<div class="form-group">
<button class="btn btn-primary btn-lg" type="submit">Enviar </button>
</div>
</form>

Necesitaremos un archivo de Javascript que llamaremos "validator.js" y que contenga las rutinas necesarias para la validación del formulario. Pongo más abajo el código integro que usaremos para este ejemplo de formulario y que se puede adaptar según la necesidad de cada uno. Como veréis, es muy sencillo y comprensible, y no tendréis ningún problema a la hora de implementar más campos en el formulario y validarlos.

Es evidente que tendremos que hacer la llamada al archivo validator.js desde el html que contiene el formulario. Lo haremos con la siguiente línea de código, y que en la medida de lo posible pondremos al final de la página para que cargue primero los contenidos de la web y luego los recursos externos.

<script src="/solucionindividual/assets/js/validator.js"></script>

Para este ejemplo, el código javascript se guarda dentro de la carpeta assets/js pero vosotros podéis ponerlo donde lo requiera vuestro proyecto.  En el código destaco en color verde, el nombre de los campos que se han puesto en el formulario Html y el nombre del formulario, que en este ejemplo es "formulario-contacto" precedido de una # como se ve en el código de abajo. Al final del código, destaco en negrita los métodos form.action y form.submit, que el primero contiene el nombre de la página PHPO que recibirá los datos del formulario y que realizará el envío del correo electrónico a quien corresponda.

Como podéis ver en el código de abajo, es muy sencillo poder añadir el nombre de otros campos del formulario, en caso de necesitarlos, ya que se trata de un Array y su estructura es muy sencilla de comprender.

Hay que tener en cuenta que esta validación únicamente se hace a nivel de cliente, es decir, si el cliente tiene desactivado JavaScript de su navegador (Que no es lo habitual), no funcionará. No obstante, siempre se puede hacer una validación del lado del servidor, mediante la página que recoge los campos del formulario. 

Código para copiar y guardar con el nombre de archivo validator.js 

// JavaScript Validación
$('document').ready(function(){
// Validación para campos de texto exclusivo, sin caracteres especiales ni números
var nameregex = /^[a-zA-Z ]+$/;

$.validator.addMethod("validname", function( value, element ) {
return this.optional( element ) || nameregex.test( value );
});

// Máscara para validación de Email
var eregex = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

$.validator.addMethod("validemail", function( value, element ) {
return this.optional( element ) || eregex.test( value );
});

$("#formulario-contacto").validate({

rules:
{
nombre: {
required: true,
minlength: 8
},
email: {
required: true,
validemail: true
},
mensaje: {
required: true,
minlength: 20,
maxlength: 300
},
},
messages:
{
nombre: {
required: "Tu Nombre y Apellidos son Importantes",
minlength: "Tu Nombre es demasiado corto"
},
email: {
required: "Por Favor, introduzca una dirección de correo",
validemail: "Introduzca correctamente su correo"
},
mensaje: {
required: "Tu Nombre y Apellidos son Importantes",
minlength: "Tu Mensaje es demasiado corto",
maxlength: "Tu Mensaje supera los 300 caracteres"
},
},
errorPlacement : function(error, element) {
$(element).closest('.form-group').find('.help-block').html(error.html());
},
highlight : function(element) {
$(element).closest('.form-group').removeClass('has-success').addClass('has-error');
},
unhighlight: function(element, errorClass, validClass) {
$(element).closest('.form-group').removeClass('has-error').addClass('has-success');
$(element).closest('.form-group').find('.help-block').html('');
},

submitHandler: function(form) {
form.action="pagina que envia el correo.php";
form.submit();

alert('ok');
}
});
})

Comparte este Artículo en tus Redes Sociales


Busco Hosting
¿Estás buscando Hosting para tu Web?
No Busques más, ya lo has encontrado
Hosting para WordPress, Joomla, OpenCart, Bootstrap.
¡Mira nuestros Pack!

Guía de Microempresas
¿Aún no estás en la Guía de Microempresas?
¿Quieres saber si eres una Microempresa?
La Guía definitiva para encontrar lo que necesitas.
¡Date de Alta Gratuitamente!

banner-diseño-web


 

Visto 1371 veces Modificado por última vez en Domingo, 24 Septiembre 2017 12:02

Artículos relacionados (por etiqueta)

  • Mejorar el diseño de mi página web

    Muchas veces se crea una página web y por cuestiones de trabajo y tiempo fundamentalmente, no entramos en ella en meses. Vivimos en un momento de constante cambio y por ello hay que estar pendientes de cómo nos mostramos en Internet. 

    Esto es muy importante ya que necesitamos saber si la información que muestra y su presentación es la que deseamos, en ese momento, para nuestra empresa. Construir un diseño creativo para presentar la web es fundamental en las pequeñas empresas, que requieren mayor impulso en Internet.

  • Crear Ventana Modal en Bootstrap

    Las ventanas Modal en Bootstrap, son unas capas ocultas DIV en el código de la web que contienen la información a mostrar cuando las hacemos visibles mediante un enlace o botón.

  • Busco Hosting

    Hosting Web Compartido, personalizado y especializado para Empresas. Indicados para alojamiento de páginas Web diseñadas en WordPress, Joomla, Opencart o Bootstrap. Hosting Web en Madrid

  • Como aprender programación gracias a Mimo

    Tiempo atrás, lo más básico que debía saber una persona era leer y escribir. Eso y aritmética elemental. Luego vinieron las computadoras e Internet, y en la actualidad es obligatorio tener nociones mínimas de ofimática y de manejarse con la red de redes.

  • API Web de Viajes para Onlinetravel

    Onlinetravel es una empresa mayorista de viajes que ofrece sus servicios gratuitos a emprendedores y empresas ofreciendoles el mejor producto turístico a sus clientes y visitantes de su sitio web, y obteniendo comisiones por las ventas que realicen.

Deja un comentario

Asegúrate de llenar la información requerida marcada con (*). No está permitido el código HTML. Tu dirección de correo NO será publicada.

Ellos Confian en Nosotros

¡Atención! Este sitio utiliza cookies.

Si no cambia la configuración de su navegador, usted acepta su uso. Saber más Acepto

logo cabecera web
EIE (Espacio de Iniciativas Empresariales)
Parque Empresarial La Garena
C/Blas Cabrera, 23
Alcalá de Henares - Madrid
Teléfono: 91 881 47 19
Mapa Localización 

logo rapidSSL

telefono web
Teléfono de atención al cliente: 91 881 47 19
de Lunes a Viernes de 9:00 a 14:00 y de 17:00 a 19:00

Horario de Verano: del 15 de Junio al 15 de Septiembre
de Lunes a Viernes de 9:00 a 15:00

Consultoría de Internet | Diseño Web | Mapa del Sitio

Solución Individual ® y su Logotipo son Nombre Comercial y Marca Registrada.
 © Reservados Derechos de Autor 2010 

Microempresa asociada a AEMME
logo AEMME P

acceso candado   social facebook   social google   social twitter   social linkedin   social flickr   social pixabay   social pinterest   social youtube   social guiamicroempresas 


 Los precios indicados en esta web NO incluyen el IVA