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

JSF Java Discussion :

Cycle de vie JSF et Hibernate Validator


Sujet :

JSF Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 110
    Points : 67
    Points
    67
    Par défaut Cycle de vie JSF et Hibernate Validator
    Bonjour,

    J'ai un problème, c'est lié aux Hibernate Validator:

    Voila comment j'ai procédé:
    Je pose mes annotations:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    	@NotEmpty
    	@NotNull
    	@Length(min=0, max=35)
    	private String town;
    Mon code JSF:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <rich:inplaceInput id="townInput"
    	value="#{usersFormBean.editUser.town}">
    	<a4j:support event="onviewactivated"
    		action="#{usersFormBean.updateUser}" />
    	<rich:beanValidator summary="Town invalid" />
    	<rich:message for="townInput" />
    </rich:inplaceInput>
    Quand je tape plus de 35 caractères, j'ai le message comme quoi mon entré doit être comprise entre 0 et 35 caractères. Par contre, quand je ne met rien dans mon input, ça plante et j'ai cette erreur:

    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
    33
    34
    35
    36
    37
    38
     
    GRAVE: java.lang.Exception: org.hibernate.validator.InvalidStateException: validation failed for: integration.database.Users
    javax.faces.el.EvaluationException: java.lang.Exception: org.hibernate.validator.InvalidStateException: validation failed for: integration.database.Users
    	at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)
    	at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
    	at javax.faces.component.UICommand.broadcast(UICommand.java:394)
    	at org.ajax4jsf.component.AjaxActionComponent.broadcast(AjaxActionComponent.java:55)
    	at org.ajax4jsf.component.UIInclude.broadcast(UIInclude.java:170)
    	at org.ajax4jsf.component.UIInclude.broadcast(UIInclude.java:170)
    	at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:321)
    	at org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:296)
    	at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:253)
    	at org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:466)
    	at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
    	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
    	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
    	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:510)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
    	at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
    	at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:368)
    	at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:495)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
    	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
    	at java.lang.Thread.run(Unknown Source)
    Avez-vous une idée?

  2. #2
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut
    Il semble que ce n'est pas pour ce composant qui génère l'erreur mais celui là :integration.database.Users.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 110
    Points : 67
    Points
    67
    Par défaut
    Du coup, j'ai mieux compris mon erreur, mais je ne peux toujours pas la régler.

    J'ai un champ dans ma BDD, qui a le droit d'être null.

    Quand je ne rempli pas ce champ dans le formulaire (j'ai des rich:Input) et que je le valide, c'est la qu'il me plante en me disant ça:

    org.hibernate.validator.InvalidStateException: validation failed for: integration.database.Users

    Ce champ est vide, mais il a le droit de l'être, je ne comprend pas pourquoi ça plante!!! Null part dans mon bean Hibernate je lui précise qu'il ne doit pas être null.

    [EDIT]

    C'est bon j'ai trouvé, j'avais mis une annotations:

    @Pattern(regex=".*[^\\s].*")

    sur le champ en question.
    Et bien, elle n'aime pas que le champ soit null.

    [EDIT]

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

Discussions similaires

  1. Cycle de vie JSF : un peu flou
    Par fou-jea dans le forum JSF
    Réponses: 1
    Dernier message: 19/09/2012, 14h28
  2. Phase RENDER_RESPONSE du cycle de vie JSF
    Par riadhhwajdii dans le forum JSF
    Réponses: 0
    Dernier message: 06/04/2012, 11h46
  3. Applet et cycle de vie JSF
    Par Gonzo_09 dans le forum JSF
    Réponses: 3
    Dernier message: 06/09/2011, 16h12
  4. jsf + primefaces "hibernate validator"
    Par sfair dans le forum JSF
    Réponses: 8
    Dernier message: 23/02/2011, 17h37
  5. Réponses: 4
    Dernier message: 31/05/2007, 10h48

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