Déjame decir primero, validamos todos los campos en el lado del servidor, por lo que esta es una pregunta sobre la usabilidad del lado del cliente.¿Qué evento desencadenará la validación de campo y el formato de formulario de Javascript?
¿Cuál es la sabiduría convencional en exactamente cuando para validar y formatear campos de entrada de formulario html mediante javascript?
Como ejemplo, tenemos un campo de número de teléfono. Permitimos números, espacios, paréntesis y guiones. Queremos que el campo tenga diez dígitos. Además, queremos que el campo se vea como (123) 456-7890, incluso si el usuario no lo escribe de esa manera.
Parece que podamos
- Validar y formato cuando el usuario sale del campo .
- Valida y formatea en cada carácter ingresado.
- Interceptar las teclas y evitar que el usuario ingrese caracteres que son incorrectos.
- Algunos combinación de los anteriores (por ejemplo formato a la entrada y en la salida validar, prevenir la entrada y el formato de salida, etc.)
- [Agregado] Esperar y hacer todo el validación y formato cuando el usuario hace clic enviar.
que he visto hacer todas estas formas, pero no puedo encontrar información acerca de lo que es mejor (o incluso generalmente aceptada) desde una perspectiva de usabilidad, y lo más importante, por qué.
[Editar : Algunas aclaraciones]
Estamos absolutamente no hacer cumplir todas las normas de formato. Cuando digo formato, quiero decir que usaremos javascript para reescribir las cosas para que se vean bien. Si el usuario escribe 1234567890, lo cambiaremos a (123) 456-7890. No hay "reglas de formato" que puedan fallar.
Distingo esto de la validación porque si no escriben suficientes números, tenemos que hacer que lo arreglen.
Creo que debería reformular la pregunta "¿cuál es la sabiduría convencional sobre exactamente cuándo va a validar y exactamente cuándo va a formatear ...?
buena información en las respuestas hasta el momento!
EDITAR: Estoy aceptando mi propia respuesta a continuación con la esperanza de que otros encuentren el enlace tan útil como yo.
http://www.alistapart.com/articles/inline-validation-in-web-forms/ – montrealist
dalbaeb, este gran enlace debería ir a una respuesta en lugar de un comentario. – bmb