Skip to content

12. Esempio 09B – Convalida del modello

L'applicazione seguente è una variante di quella precedente. In precedenza, per l'azione A:

  • il file delle regole di validazione si chiamava A-validation.xml
  • il file dei messaggi di errore di validazione era denominato A.properties

Qui, per l'azione A del modello M:

  • il file delle regole di convalida si chiama M-validation.xml
  • il file dei messaggi di errore di convalida si chiama M.properties
  • Il file A-validation.xml esiste ancora, ma il suo contenuto reindirizza le regole di validazione al file M-validation.xml.

Queste sono le uniche modifiche che apporteremo alla versione precedente.

Il progetto NetBeans è il seguente:

  • in [1], l'azione [FormInt] e il relativo file di validazione
  • in [2], il suo modello [FormIntModel], il file di validazione per questo modello e i messaggi associati a questo modello.

Tutto il resto è identico alla versione precedente.

Il file [FormInt-validation.xml] è il seguente:


<!--
<!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/exemple-09B/example/xwork-validator-1.0.2.dtd">
 
<validators>
  <field name="model" >
    <field-validator type="visitor">
      <param name="appendPrefix">false</param>
      <message/>
    </field-validator>
  </field>
</validators>

Non tenteremo di spiegare il contenuto di questo file. Lo prenderemo per quello che è, tenendo presente il suo scopo: delegare le regole di validazione al modello. Potresti chiederti a cosa serva. Infatti, il modello, le sue regole di validazione e i suoi messaggi potrebbero già esistere ed essere utilizzati da diverse azioni. Piuttosto che ripetere le stesse regole di validazione e gli stessi messaggi per diverse azioni, è meglio delegare queste funzionalità al modello.

Il file [FormIntModel-validation.xml] è identico al file [FormInt-validation.xml] della versione precedente.

Il file [FormIntModel.properties] è identico al file [FormInt.properties] della versione precedente.

I lettori sono invitati a provare questa nuova versione.