2012-02-03 12 views
5

Estamos utilizando el control de páginas XPages "Mensajes de error" (nativo) para mostrar los errores de validación al usuario. Funciona. La validación se realiza configurando el campo según sea necesario e ingresando el mensaje de error de campo. Nada especial.¿Cómo se establece el orden de los mensajes de validación?

Ahora el requisito es establecer los mensajes de error en el mismo orden en que aparecen en el formulario. es posible?

supongo que podría crear un validador personalizado (Java) y haciendo todas las validaciones de formularios allí en cierto orden (solo probado la interfaz de validación ... pero no realmente utilizado identificación, sin embargo).

+0

¿En qué orden aparecen los mensajes de error como predeterminados? Supuse que aparecen en el mismo orden en que aparecen en el código fuente (pero puedo ver que puede no ser el mismo orden en que aparecen después de que se aplicó CSS) –

+0

No esperaba que la orden fuera necesariamente lo mismo que la fuente. Igualmente no lo he probado. Pero espero que ejecute convertidores antes de validadores, por lo que los controles con un error de convertidor pueden aparecer primero. El otro lugar para verificar será la clase Java creada. Eso será lo que se ejecute, por lo que el orden de los controles puede ser el orden en que se crearon los controles, no el orden en que aparecen en el panel Fuente. En ese caso, reordenar la clase Java puede cambiar el orden de los mensajes de error –

+0

@Paul - en realidad, el convertidor de un campo se ejecuta justo antes de que se valide el valor. Por lo tanto, todavía está en el orden de donde aparecen en el árbol. Entonces, si tiene dos campos en el árbol de componentes, uno después del otro, y el campo 1 falla en la validación y el campo2 falla en la conversión, verá un error del validador y luego el error del convertidor. –

Respuesta

0

Ahí está el viejo argumento (sin resolver): deben aparecer los errores junto al control que no pasó la validación, en la parte superior de la forma o al lado del botón pulsado para su presentación. Tiendo a ponerlos junto al control fallido y tengo UN mensaje junto al botón que dice: "Lo siento, no pude procesar la entrada, ayúdenme y corrijan los campos que tienen mensajes de error al lado de ellos". Entonces la secuencia ya no es un problema. Si quiere estar 100% seguro de que podría hacerlo en lugar del control de resumen, use los controles individuales uno al lado del otro.

Lo que de todos modos sería un buen ejercicio: que el control de mensajes de error modificar las reglas CSS del control fallido, por lo que se hace más clara lo que a tener en cuenta.

+0

Puede diseñar el control fallido de forma diferente con esta técnica: http://dontpanic82.blogspot.com/2011/07/xpages-styling-invalid-field.html –

+0

También publiqué un control de mensajes de error "mejorado" que genera enlaces en los mensajes de error para que pueda hacer clic en el mensaje de error para establecer el foco en los campos no válidos. http://dontpanic82.blogspot.com/2011/07/custom-control-for-enhanced-validation.html –

+0

Los mensajes de error de control personalizado he vinculado ahora debe mostrar los mensajes de error en el orden en que los controles están en la página. –

0

Las validaciones se activan una por una para que se encuentren en el árbol de componentes. Dependiendo de cómo desee que aparezcan, podría mover los componentes y luego diseñarlos con css. O si realmente solo desea mover el orden de las declaraciones resumidas en el Cuadro de mensajes, solo usaría algunas JS para moverlas, creo que simplemente se representan como UL. Solo tener un Validador realmente no funcionará, ya que se disparará el mismo validador para cada componente en el orden del árbol de componentes.

Cuestiones relacionadas