12. Ejemplo 09B – Validación del modelo
La siguiente aplicación es una variante de la anterior. Anteriormente, para la acción A:
- el archivo de reglas de validación se llamaba A-validation.xml
- el archivo de mensajes de error de la validación se llamaba A.properties
Aquí, para la acción A del modelo M:
- el archivo de reglas de validación se llama M-validation.xml
- el archivo de mensajes de error de la validación se llama M.properties
- el archivo A-validation.xml sigue existiendo, pero con un contenido que redirige las reglas de validación al archivo M-validation.xml.
Estos son los únicos cambios que realizaremos con respecto a la versión anterior.
El proyecto NetBeans es el siguiente:
![]() |
- en [1], la acción [FormInt] y su archivo de validación
- en [2], su plantilla [FormIntModel], el archivo de validación de esta plantilla y los mensajes asociados a esta plantilla.
Todo lo demás es idéntico a la versión anterior.
El archivo [FormInt-validation.xml] es el siguiente:
<!--
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//
EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
-->
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//
EN" "http://localhost:8084/ejemplo-09B/ejemplo/xwork-validator-1.0.2.dtd">
<validators>
<field name="model" >
<field-validator type="visitor">
<param name="appendPrefix">false</param>
<message/>
</field-validator>
</field>
</validators>
No vamos a intentar explicar el contenido de este archivo. Lo tomaremos tal cual, recordando su funcionalidad: trasladar las reglas de validación al modelo. Cabe preguntarse para qué sirve esto. De hecho, el modelo, sus reglas de validación y sus mensajes pueden existir previamente y ser utilizados por diferentes acciones. En lugar de repetir las mismas reglas de validación y mensajes para las diferentes acciones, es preferible delegar estas funcionalidades al modelo.
El archivo [FormIntModel-validation.xml] es idéntico al archivo [FormInt-validation.xml] de la versión anterior.
El archivo [FormIntModel.properties] es idéntico al archivo [FormInt.properties] de la versión anterior.
Se invita al lector a probar esta nueva versión.
