Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > Dojo
Dojo Forum d'entraide sur le framework Dojo
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/10/2011, 16h19   #1
Nouveau Membre du Club
 
Homme
Développeur Web
Inscription : septembre 2011
Messages : 62
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : septembre 2011
Messages : 62
Points : 27
Points : 27
Par défaut Validation formulaire avec Struts2 + Dojo

Bonjour à tous,
Dans le cadre d'un projet, j'utilise le framework Struts 2, couplé à Dojo 1.6.
J'aimerais tout simplement effectuer une validation d'un formulaire à l'aide de Dojo, tout comme le tout dernier exemple de cette page.
J'y arrive sans problème en utilisant un formulaire HTML "classique", mais les choses se corsent dès que je veux utiliser les balises struts 2.
En effet, j'arrive bien à effectuer les validations du type "vérifier que ce champ est bien un email valide" etc... Mais en ce qui concerne la validation de type "required", elle ne marche très bien en mettant un <input type="text"> mais ne marche plus aussitôt que je passe en <s:textfield/>...
Me voilà donc bien embêté, et je ne trouve pas ma solution :/

Ma JSP :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<script src="http://ajax.googleapis.com/ajax/libs/dojo/1.6/dojo/dojo.xd.js"
        data-dojo-config="parseOnLoad:true"></script>
 
        <script>
            dojo.require('dojox.validate');
            dojo.require('dojox.validate.web');
 
            /* basic dijit classes */
            dojo.require('dijit.form.CheckBox');
            dojo.require('dijit.form.Textarea');
            dojo.require('dijit.form.FilteringSelect');
            dojo.require('dijit.form.TextBox');
            dojo.require('dijit.form.ValidationTextBox');
            dojo.require('dijit.form.DateTextBox');
            dojo.require('dijit.form.TimeTextBox');
            dojo.require('dijit.form.Button');
            dojo.require('dijit.form.RadioButton');
            dojo.require('dijit.form.Form');
            dojo.require('dijit.form.DateTextBox');
 
            /* basic dojox classes */
            dojo.require('dojox.form.BusyButton');
            dojo.require('dojox.form.CheckedMultiSelect');
</script>
 
<s:form dojoType="dijit.form.Form" method="post" theme="simple">
                <script type="dojo/method" event="onSubmit">
                    if(this.validate()) {
                        return confirm('Form OK');
                    } else {
                        alert('Formulaire invalide');
                        return false;
                    }
                    return true;
                </script>
                <table cellpadding="0" cellspacing="2">
                    <tr>
                        <td valign="top"><strong>First Name*: </strong></td>
                        <td>
                            <s:textfield
                                name="email"
                                id="email"
                                placeholder="Your email" 
                                dojoType="dijit.form.ValidationTextBox" 
                                required="true"
                                missingMessage="Obligatoire !"
                                />
                        </td>
                    </tr>
 
                </table>
 
                <!-- submit buttons -->
                <s:submit
                    value="Valider" 
                    label="Valider"
                    id="submitButton" 
                    dojoType="dojox.form.Button" />
 
            </s:form>
Tout aide sera la bienvenue
Merci d'avance
VinceCBA est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/10/2011, 10h09   #2
Nouveau Membre du Club
 
Homme
Développeur Web
Inscription : septembre 2011
Messages : 62
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : septembre 2011
Messages : 62
Points : 27
Points : 27
C'est bon, j'ai résolu mon problème.
A savoir que depuis la version 1.6 de Dojo, la syntaxe des attributs a changé :
Dans un <s:textfield/> par exemple => dojoType ==> data-dojo-type
Un nouvel attribut est également apparu : data-dojo-props, dans lequel on peut mettre nos propriétés.
J'ai donc mis : data-dojo-props="required : true" et le tour est joué
VinceCBA est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 20/10/2011, 22h43   #3
Membre habitué
 
Homme Bernard Le Roux
Développeur informatique
Inscription : octobre 2005
Messages : 128
Détails du profil
Informations personnelles :
Nom : Homme Bernard Le Roux
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Service public

Informations forums :
Inscription : octobre 2005
Messages : 128
Points : 136
Points : 136
Bonjour,

Les anciens attributs sont toujours valables seulement si tu n'es pas sur une page HTML5 c'est visiblement ce qui t'arrive et donc à ce moment là il faut utiliser les attributs dont tu parles.
Le Roux B. est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h14.


 
 
 
 
Partenaires

Hébergement Web