IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

RichFaces - Validateur et Entity


Sujet :

Servlets/JSP Java

  1. #1
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Septembre 2009
    Messages : 15
    Par défaut RichFaces - Validateur et Entity
    Bonjour à tous.

    J'ai une question concernant les validateurs. J'ai mon site structuré de cette façon :

    Entitiy :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    public class Contact implements Serializable 
    {
     
    	private static final long serialVersionUID = 1L;
    	public Contact() {}
     
    	@Id
    	@GeneratedValue(strategy = GenerationType.IDENTITY)
    	private Long id;
     
    	@Column(nullable = false)
            private String lastName;
     
    	@Column(nullable = false)
            private String firstName;
     
    	@Email
            @Column(nullable = false)
            private String mail;
     
           /*GETTER et SETTER*/
           ......
    }
    Le managed bean :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    public class CompanyMB extends Controller
    {
            private Contact contact = new Contact();
     
            public String createCompany()
            {
                  //Création du contact
                  contact = contactEJB.addContact(contact);
            }
     
            public Contact getContact() 
           {
                  return contact;
            }
     
            public void setContact(Contact contact) 
            {
                 this.contact = contact;
             }
     
    }
    et ma page JSP:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    <h2>
            Création d un contact
    </h2>
     
    <h:form> 
       <h:panelGrid columns="3">
          <h:outputText value="Nom : "/>
          <h:inputText id="nomContact" value="#{companymb.contact.lastName}" label="Nom">
             <rich:ajaxValidator event="onblur"/>
              <f:validateLength  minimum="3"/>
          </h:inputText>
           <rich:message  for="nomContact" />
     
           <h:outputText value="Prénom : "/>
            <h:inputText id="prenomContact" value="#{companymb.contact.firstName}" label="Prenom">
                   <rich:ajaxValidator event="onblur"/>
                    <f:validateLength  minimum="2"/>
             </h:inputText>
              <rich:message  for="prenomContact" />
     
              <h:outputText value="Mail : "/>
              <h:inputText id="mailContact" value="#{companymb.email}" label="Mail">
                   <rich:ajaxValidator event="onblur" />
               </h:inputText>
                <rich:message  for="mailContact" />
        </h:panelGrid>
       <div class="zoneButton">
          <h:commandButton type="submit" action="#{companymb.createCompany}" value="Ajouter cette entreprise"/>
       </div>
     
    </h:form>
    Mon soucis est que je souhaite utiliser les validateurs de RichFaces sur les propriétés du contact. Par exemple mettre un @Email et @NotEmpty sur la propriétés email de mon contact.

    Mais comment puis-je le faire ?

    J'ai pensé le mettre sur l'entity, mais je ne pense pas que lors de l'appel sur le onblur, le serveur va chercher jusqu'à l'entity (J'ai testé, ça n'a pas marché).

    La solution serait de créer des variables dans le ManagedBean tel String Email avec dessus @Email et ensuite lié cette variable à ma propriété email de l'objet contact : mais est-ce la meilleur solution ?

    Sinon si vous avec d'autre idée pour mettre en place les validateurs, selon vos expériences, n'hésitez pas !!

    Merci à tous !

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Regarde du côté de Seam, c'est
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Par défaut
    Moi ce que je fais pour chaque formulaire c'est créer un dataBean à l'image des champs de mon formulaire, je lie donc ce dataBean à mon formulaire, ce n'est que lorsque le dataBean est bien rempli, que je le charge dans mon entity avant d'insérer dans la base, et inversement lors de la recuperation, je charge l'entity dans le databean avant d'envoyer au formulaire, dans un respect de l'architecture les champs de l'entity bean ne doivent normalement pas être directement accessibles dans la couche vue.

  4. #4
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par DevServlet Voir le message
    ...
    dans un respect de l'architecture les champs de l'entity bean ne doivent normalement pas être directement accessibles dans la couche vue.
    Fondamentalement, rien ne l'empêche... surtout depuis la V3.
    Lorsqu'on sort du conteneur d'EJB, par défaut avec JTA, le bean est "détaché", donc, aucun risque.
    De plus, avec l'usage des intercepteurs (beforeUpdate, beforeInsert, etc...), on peut facilement centraliser les contrôles et garantir l'intégrité des données.
    Bref, c'est plus une philosophie qu'une réelle contrainte.

    L'évolution des framework et l'apparition de Seam pour les développements avec EJB3 permet plus de souplesse.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Septembre 2009
    Messages : 15
    Par défaut
    Merci pour vos réponses.

    Je vais effectivement suivre les conseils de "DevServlet". J'ai commencé quelques tests et cela m'a l'air pas mal du tout .

    La seule chose qui peut me contrarier est que si le formulaire est conséquent, y a énormément de retour serveur. Mais bon dans mon cas, le formulaire ne sera pas appelé trop souvent !!

    Bonne journée.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. PHP5, XSL et <!ENTITY> Problème
    Par trent94 dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 04/07/2005, 18h42
  2. [Eclipse / Jonas] Erreur "jonas-entity missing for bean"
    Par citygirl dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 16/05/2005, 11h59
  3. Validateur locale
    Par byekler dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 04/05/2005, 07h04
  4. [EJB2.1 Entity] No Such entity
    Par Electrochip dans le forum Java EE
    Réponses: 5
    Dernier message: 06/01/2005, 20h26
  5. [ Entity bean ] CMP
    Par hocinema dans le forum Websphere
    Réponses: 5
    Dernier message: 03/10/2003, 11h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo