Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

I controlli Validator

I controlli utili alla validazione dei campi di un form
I controlli utili alla validazione dei campi di un form
Link copiato negli appunti

Nelle applicazioni che seguono il paradigma MVC, il compito di accettare i dati inseriti dall'utente è riservato al Model, che ne garantisce la coerenza e l'integrità. Prima di arrivare al Model, però, possiamo sottoporre le informazioni ad una prima verifica negli strati di View e Controller.

A livello superficiale possiamo intercettare, ad esempio, gli errori di compilazione dei campi nei form (parsing del tipo di dati, numerico piuttosto che testo, lunghezza consentita, correttezza formale ect.) con notevole beneficio in termini reattività del sistema e di risparmio di banda (il Model spesso è esposto su un server remoto).

Il Flex Framework fornisce un set di controlli per la validazione dell'input:

CreditCardValidator CurrencyValidator
DateValidator EmailValidator
NumberValidator PhoneNumberValidator
RegExpValidator SocialSecurityValidator
StringValidator StyleValidator
StyleValidator ZipCodeValidator

Tutti questi controlli derivano dall'oggetto Validator e condividono, quindi, un certo numero di proprietà e metodi, possiamo utilizzare i validatori tramite MXML, e rifinire il lavoro con del codice ActionScript.

Inserire un validatore in MXML

La dichiarazione di un validatore in MXML presuppone l'inserimento del tag corrispondente all'interno dell'elemento <fx:Declaration> (In questa versione del Flex Framework, a differenza delle precedenti, tutti i controlli non visuali trovano posto all'interno di questo tag).

<fx:Declarations>
  <mx:StringValidator source="{userid}" property="text"
                      minLength="8" maxLength="15"  />
</fx:Declarations>

Perché il nostro Validator funzioni, dobbiamo fornirgli almeno due informazioni:

  • source, rappresenta il controllo che deve essere validato, ne inseriamo il nome tra parentesi graffe
  • property la proprietà da verificare

Nell'esempio la verifica sarà sulla proprietà text del campo userid. Le altre informazioni servono per impostare le condizioni da verificare.

Ogni volta che assegnamo un validator ad un campo, lo rendiamo obbligatorio per default. Questo a causa della proprietà required, che obbliga a compilare il campo cui è associata. È una proprietà di tipo booleano e default vale true, quindi anche se non la scriviamo esplicitamente risulta abilitata.

Nel nostro esempio obblighiamo l'utente a compilare il campo userid, con una stringa compresa tra gli 8 e i 15 caratteri.

Visualizzare gli errori di validazione

Quando i vincoli imposti al form non sono rispettati, appare un riquadro, rosso per default ma modificabile con gli stili, in corrispondenza dei controlli che hanno fallito la validazione. Il messaggio viene visualizzato, per default, quando l'utente sorvola col mouse il controllo.

Figura 32. Visualizzazione degli errori
Visualizzazione degli errori

Modificare la lingua dei messaggi

I messaggi dei validator sono soggetti alle politiche di localizzazione di Flash Builder, questo significa che gli avvisi visualizzati saranno nella lingua specificata nell'opzione locale del compilatore. Per default il progetto è impostato in Inglese (en_US) e anche i messaggi di conseguenza.

È possibile localizzare i messaggi in italiano impostando l'opzione locale del compilatore in Italiano (it_IT) dalle proprietà del progetto; accessibili dal menu contestuale, premendo il pulsante destro del mouse sul nome del progetto nel Package Explorer.

Figura 33. Modificare l'opzione 'locale' del compilatore
Modificare l'opzione 'locale' del compilatore

In alternativa possiamo modificare uno ad uno i messaggi, indipendentemente dalla lingua, utilizzando le apposite proprietà previste per ciascun messaggio di errore. Ad esempio requiredFieldError è il messaggio per i campi obbligatori di StringValidator.

Ti consigliamo anche