Skip to content

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.