ce qui est validé c'est juste le required, et pas la taille..
essaye de vérifier avec a4j:support
et:Code:<a4j:support event="onblur" reRender="text"/>
Code:<h:outputText id="text" value="#{val.maValeur}"/>
Version imprimable
j'ai testé ce code mais rien ne c passé
le message de validation ne s'affiche pas quelque soit la valeur entréeCode:
1
2
3
4 <h:inputText value="#{val.maValeur}" id="text" > <a4j:support event="onblur" reRender="text"/> </h:inputText> <rich:message for="text" />
non mais ce n'est pas pour tester la validation, c'est juste pour vérifier un appel ajax avec l'événement onblur..
tu dois avoir un problème de libraires, fais un peu le ménage dans tes jars et enlève dont ce que tu n'a pas besoin, prend juste les jars d'hibernate validator..
je serais très reconnaissant si quelqu'un m'envoie un exemple très simple dans un fichier compressé afin de le tester chez moi et de savoir si le problème vient de mon environnement de travail (serveur - librairie -IDE-même système d'exploitation) vraiment j'ai passer beaucoup de temps à chercher l'erreur et je ne peut pas le dépasser dans dans le travaille que je vais réaliser :cry:
et merci infiniment.
Code:
1
2
3
4
5
6
7
8 <form> <a4j:region> votre code </a4j:region> </form>
le code est le meme que celui de la demo de richfaces,
faut voir ta configuration et les librairies utilisées.
prend la dernière version la 3.3.0.GA de richfaces.
tu as bien les librairies ?
hibernate-validator-3.1.0.CR1 et slf4j-simple-1.4.2 ?
j'ai bien la version hibernate-validator-3.1.0.GA qui contient les fichiers suivants :
+hibernate-validator.jar
+ejb3-persistence.jar
+hibernate-commons-annotations.jar
+hibernate-core.jar
+javassist.jar
+slf4j-api.jar
J'ai crée une nouvelle librairie avec les fichiers précédents, que j'ai ajouté à mon projet
je précise que la validation ce fait mais le problème reste avec l'événement
j'ai essayé ce code :
mais ça marche pas aussi : la fenetre d'alerte ne s'affiche pas qd la valeur de l'inputtext change!!!!!!!!!!!!!!!!Code:
1
2
3 <h:inputText id="name" value="#{personne.nom}" required="true" > <a4j:support event="onchange" action="alert('TEST Oki');" /> </h:inputText>
action ne prend pas une fonction javascript..
je t'ai donné un exemple pour tester l'événement..
fais juste un reRender sur un outputText ..
l'erreur que tu as donné plus haut dit qu'il te manque une classe;
si tu as bien la librairie dans WEB-INF/lib, il se peux que l'IDE ne deploie pas bien l'application..
j'ai bien ajouté les libreries de richfaces à mon projet et j'ai vérifié que WEB-INF\lib contient :
richfaces-api-3.2.2.GA.jar
richfaces-impl-3.2.2.GA.jar
richfaces-ui-3.2.2.GA.jar
j'ai essayé ce code:
mais ça n'a pas marché, même avec l'événement à "onblur" :cry:Code:
1
2
3
4
5
6
7 <body> <h:outputText value="Name :" /> <h:inputText id="name" value="#{personne.nom}" required="true" > <a4j:support event="onchange" reRender="nom" /> </h:inputText> <h:outputText id="nom" value="#{personne.nom}" /> </body>
Entoure ton code d'un <h:form/>.
Nouveau code:
pas de changement au niveau exécution :question:Code:
1
2
3
4
5
6
7
8
9
10
11
12
13 <f:view> <html> <body> <h:form id="monform" > <h:outputText value="Name :" /> <h:inputText id="name" value="#{personne.nom}" > <a4j:support event="onblur" reRender="nom" /> </h:inputText> <h:outputText id="nom" value="#{personne.nom}" /> </h:form> </body> </html> </f:view>
et autre chose, mais, je ne pense pas que ce soit ça..
le <f:view> à l'intérieur du body..
et regarde s'il rentre bien dans la méthode action..Code:
1
2 <a4j:support event="onblur" reRender="nom" action="#{bean.action}" />
Sinon si tu peux journaliser les phases JSF, ça permet de comprendre un peu ce qui se passe.
merci bcp sniper37
j'ai esseye avec :la fonction test n'est pas exécuter mais j'ai remarqué que tomcat6 à généré le rapport d'erreur suivant:Code:
1
2 <a4j:support event="onblur" reRender="nom" action="#{personne.test}" />
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 INFO: Initializing Sun's JavaServer Faces implementation (1.2_04-b20-p03) for context '/NewValidation' 5 févr. 2009 11:54:07 com.sun.faces.util.Util createInstance GRAVE: Cant instantiate class: org.ajax4jsf.application.AjaxStateManager. java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at com.sun.faces.util.Util.createInstance(Util.java:458) at com.sun.faces.config.ConfigureListener.configure(ConfigureListener.java:619) at com.sun.faces.config.ConfigureListener.configure(ConfigureListener.java:487) at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:381) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4342) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525) at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:627) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:511) ..... Caused by: java.lang.NoClassDefFoundError: org/apache/commons/collections/map/LazyMap at org.ajax4jsf.application.ComponentsLoaderImpl.<init>(ComponentsLoaderImpl.java:27) at org.ajax4jsf.application.AjaxStateManager.<init>(AjaxStateManager.java:142) ... 41 more Caused by: java.lang.ClassNotFoundException: org.apache.commons.collections.map.LazyMap at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) ... 43 more
ton application n'est pas bien déployée.
tu utilise Eclipse?
fais un clean sur ton projet et réessaye.vérifie bien ce qui est déployé et pas cseulement ce qui se trouve dans le WEB-INf/lib...