2010-12-31 11 views
6

Al usar campos de "correo electrónico" HTML5 - <input type="email"/> - muchos UA (agentes de usuario/navegadores) evitan que envíe el formulario sin utilizar una dirección de correo electrónico "válida" (por regex). También aplican la pseudoclass :invalid. Sin embargo, este mi conflicto con tu propio esquema de validación y la falta de comentarios directos pueden confundir a los visitantes. Además, se aplica: no válido (en Chrome 8) a mi campo antes de que alguien intente enviarlo. Odio esto. Parece que el usuario ha cometido un error, pero aún no lo han hecho.¿Puedo suprimir la validación de UA de los campos de "correo electrónico" HTML5?

Entonces, ¿es posible usar <input type="email"/> sin activar el comportamiento de validación?

+2

No suena sarcástico pero no es solo . ¿Por qué desea utilizar este tipo si no desea heredar las características que ofrece? – spinon

+3

@spinon No del todo. Los AU son libres de mejorar '' de otras formas: considere dispositivos iOS. En realidad, usan un teclado diferente por completo, con las teclas '@' y '.' visibles donde partes de la barra espaciadora normalmente estarían, cuando el usuario está llenando un campo de correo electrónico. –

+0

Sí, estaba pensando en eso después de escribirlo. Existe esa característica que lo hace conveniente para los dispositivos. – spinon

Respuesta

10

Según Philip Taylor (Philip) en el irc.w3.org # html-WG sala de IRC:

http://whatwg.org/html5#attr-fs-novalidate dice que puede utilizar para deshabilitar la validación para toda la forma

Así Básicamente, puede aplicar novalidate como un atributo en todo el formulario. También puede especificar un botón de envío para enviar el formulario sin validar: el ejemplo canónico es un botón "guardar progreso" que no se valida en absoluto. En ese caso, ponga formnovalidate en el botón de enviar.

+3

Al menos en Firefox, formnovalidate evita la advertencia de burbuja, pero aún agrega un error de validación rojo "brillar" al elemento fallido. Para solucionarlo, utilice la pseudoclase inválida (o la específica del navegador) como se describe aquí: https://developer.mozilla.org/en-US/docs/CSS/:invalid – nokturnal

Cuestiones relacionadas