Les17-Validation_framework - Facolta di Ingegneria

Transcript

Les17-Validation_framework - Facolta di Ingegneria
Software Engineering
a.a. 2015-2016"
Validation Framework!
Prof. Luca Mainetti!
Università del Salento!
Sommario"
■  Validation Framework!
–  Validation in the Action!
–  XML Validation!
–  Custom Validator!
Validation Framework"
2"
Luca Mainetti"
Validation Framework"
■  Struts 2 mette a disposizione degli strumenti per validare i
valori inseriti nei campi dei form.!
■  Esistono 2 modalità per eseguire la validatione!
–  All’interno della Action utilizzando il metodo validate()
–  Sfruttando il framework di validazione XML!
■  E’ inoltre possibile creare dei Custom Validator!
Validation Framework"
3"
Luca Mainetti"
Validation in the Action"
1.  E’ necessario che l’action erediti dalla classe
ActionSupport"
2.  All’interno dell’action definire il metodo public
void validate()
3.  Tale metodo verrà richiamato prima di execute
()
4.  Se sono presenti errori nella validazione execute
non verrà richiamato e verrà ritornato come result
“input”!
Validation Framework"
4"
Luca Mainetti"
XML Validation"
■  Domain Data –
Rappresentano i dati
da validare!
■  Validation Meta-
Data – Associano i
dati con i validatori!
■  Validators – Un
validator è un
componente
riusabile che
contiene la logica
per eseguire un atto
di validazione!
Validation Framework"
5"
Luca Mainetti"
XML Validation"
■  La validazione tramite XML viene gestita dall’Inteceptor
Validation!
■  Passi per utilizzare l’XML Validation:!
1.  Creare un file XML con questo nome NomeActionInvocatavalidation.xml!
2.  Definire all’interno del file il mapping tra dati e validatori da
invocare !
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.3//
EN"
"http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
<validators>
<field name="name">
<field-validator type="requiredstring">
<message>Campo richiesto</message>
</field-validator>
</field>
</validators>
Validation Framework"
6"
Luca Mainetti"
XML Validation"
■  Alcuni validatori !
–  date validator:!
–  double validator:!
–  email validator:!
–  expression validator:!
–  int validator:!
–  regex validator:!
–  required validator:!
–  requiredstring validator:!
–  url validator:!
–  ……….!
Validation Framework"
7"
Luca Mainetti"
Custom Validator"
■  E’ possibile creare dei propri Validarori!
1.  Creare una classe Java che erediti da FieldValidatorSupport!
2.  All’interno del metodo Validate () inserire la logica di
validazione!
3.  Creare un file validators.xml e definire al suo interno il validator
precedentemente creato!
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
"-//Apache Struts//XWork Validator Config 1.0//EN"
"http://struts.apache.org/dtds/xwork-validator-config-1.0.dtd">
<validators>
<validator name="validatorname" class="pathclass" />
</validators>
Validation Framework"
8"
Luca Mainetti"