Programación y ejemplos de PHP, jQuery, HTML5, WordPress, MySQL, AMP y htaccess


HTML5 email input: Validación automática de emails en formularios

Con el HTML5 email input vamos a poder meter campos de email con validaciones automáticas de una forma trivial. No vamos a necesitar líneas extra de jQuery, PHP o Java Script.

Con este nuevo input de formulario de HTML5 el propio navegador es el que detecta el tipo de campo que es y realiza las validaciones pertinentes.

Sintaxis del HTML5 email input

Vamos a ver la sintaxis de este input extraída de su web oficial:

Con solo 2 atributos tenemos colocado en nuestro formulario un email input. En los dispositivos móviles saldrá el teclado con la @ por defecto para facilitar la inserción de la dirección de email.

Imagen de ejemplo en dispositivos IOS:

html5 email input teclado

Ejemplo en HTML5 de email input

Vamos a ver en la siguiente demo como funcionan las validaciones automáticas por defecto:

Os explico el código superior:

  • He creado un formulario con method POST.
  • Con un email input y otro input de envio de formulario.
  • En el formulario se pide la introdución de un email, si el email introducido no cumple la sintaxis básica de una dirección de correo eletrónico saldrán mensajes automáticos como el siguiente.

Como veis es muy fácil hacer la validación por defecto de emails con formularios en HTML5. Después el código PHP para recoger el valor del formulario es el siguiente:

Validando inputs de tipo email con el atributo pattern HTML5

Os pongo una segunda demo para que os fijéis cómo se pueden filtrar mejor los emails introducidos.

Os explico el código:

  • Con el atributo pattern podemos hacer la validación a nuestro gusto, es decir, que podemos establecer el formato de email introducido.
  • En este ejemplo he puesto este pattern: [a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*@[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[.][a-zA-Z]{1,5}
  • Si no coincide el dato introducido nos saldrá un aviso similar al de la imagen inferior.

html5 email input error pattern

Atributos válidos en HTML5 email input

Voy a listaros los atributos válidos para este input según la W3C.

  1. name: Nombre del input (name=»nombre del input»).
  2. disabled: Atributo que determina si está desactivado el input para la introducción de datos (disable=»disabled»), por defecto activado.
  3. type: tipo de input, en este caso es ‘email’
  4. form: Con este atributo se asocia el id del form al que pertenece el input (form=»id del form»).
  5. autocomplete: Con autocomplete activado el input se autorrellenará con contenidos anteriormente enviados por él mismo (autocomplete=»off», autocomplete=»on»).
  6. autofocus: Este atributo hace que el cursor se situe en en input (autofocus=»autofocus»).
  7. list: Asocia mediante id una lista de valores predefinidos (list=»nombre lista»).
  8. maxlength: Longitud máxima en caracteres del número introducido.
  9. readonly: Con el valor activado el input no podrá variar de valor, no se podrá editar (readonly=»readonly»).
  10. required: Determina si el input tiene que ser rellenado obligatoriamente (required=»required»).
  11. size: Anchura del input en el form.
  12. pattern: Expresión regular que a de cumplir el email.
  13. placeholder: Permite al usuario ver una leyenda en el input de entrada de datos. Cuando el usuario clicke sobre el input esta leyenda desaparecerá (placeholder=»leyenda, texto explicativo»).
  14. value: Valor por defecto del input.
  15. multiple: múltiples valores que puede tener el input.
  16. novalidate: Hace que el input no se valide al enviarse el formulario.

Listado de los nuevos input HTML5

En esta url tenéis el listado completo de los nuevos input de HTML5.

Listado de los nuevos atributos HTML5

En esta otra url tenéis todos los nuevos atributos HTML5 para inputs y formularios.

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies