Il progetto su cui sto lavorando e derivato da spring Roo 2.3.2, il quale permette di generare automaticamente dei controlli Js con DOJO, per validare i dati inserite all’interno di un form.

Ed è stato proprio dojo e nella fattispecie dijit che mi ha dato non poche grane.

Per effettuare un controllo su di un campo email, grazie ad una espressione regolare è sufficente utilizzare la seguente sintassi:

<script type=”text/javascript”>
dojo.require(“dojox.validate.regexp”);
Spring.addDecoration(new Spring.ElementDecoration({elementId : ‘_email_id’, widgetType : ‘dijit.form.ValidationTextBox’, widgetAttrs : {promptMessage: ‘${field_validation}’, invalidMessage: ‘${field_invalid}’, regExp: “[a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}” ,required : false}}));
</script>

Le parti più importanti sono quelle in grassetto dove nella prima parte di richiama la componente di dojo che permette di utilizzare le regular expression, mentre nella seconda parte di utilizza direttamente la regular espression desiderata (nella fattispecie un controllo banale sull’email).

Mentre se si vuole inserire un controllo che permette di eliminare gli spazi vuoti è sufficiente utilizzare il trim: true

<script type=”text/javascript”>

Spring.addDecoration(new Spring.ElementDecoration({elementId : ‘_nome_id’, widgetType : ‘dijit.form.ValidationTextBox’, widgetAttrs : {promptMessage:’${field_validation}’, invalidMessage: ‘${field_invalid}’, required : false, trim:true}}));

</script>

Annunci