Bonjour,
Je développe un projet en Richfaces et je trouve un problème avec le tag <rich:message> , l'image de validation du champs apparait lors du premier affichage du formulaire alors qu'aucune valeur n'a été encore entrée , la validation marche très bien mais normalement l'image n'apparait que une fois la valeur de l'input est valide !j'ai essayé plusieurs méthodes mais ca marche pas toujours


voici mon code

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
 
<h:outputText  value="Login" />
                    <h:inputText id="Log" value="#{ReqClient.nouvClient.login}" required="true" >
                    <f:validator validatorId="LoginValidator"/>
 
 
                  <rich:ajaxValidator  event="onblur"/>  </h:inputText> 
                    <rich:message for="Log" >
                       <f:facet  name="passedMarker">
                         <h:graphicImage  value="/images/passed.gif" /> 
                         </f:facet>
                          <f:facet name="errorMarker">
                       <h:graphicImage  value="/images/error.gif" />  
                     </f:facet>
                      </rich:message>
et le code de mon validator:
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
39
40
41
42
43
44
 
	public class LoginValidator implements Validator { 
		public LoginValidator(){
		}
 
		public void validate(FacesContext facesContext,UIComponent component,Object value){
		String login = (String)value;
		String message;
 
		//verification longeur
		boolean event= (login.length() <3) ;
		if(event){
 
			FacesMessage facesMessage = new FacesMessage();
			facesMessage.setSeverity(FacesMessage.SEVERITY_ERROR);
	message="Ce champs doit contenir 3 caractéres au minimum !";
	facesMessage.setSummary(message);
	throw new ValidatorException(facesMessage);
 
 
 
		}
 
		else{
 
			//verification de la disponibilité du login
 
			ReqClient rc= new ReqClient();
			if(!rc.verifDispo(login)) {
 
				FacesMessage facesMessage = new FacesMessage();
				facesMessage.setSeverity(FacesMessage.SEVERITY_ERROR);
 
				message="Ce login n'est pas disponible";
				facesMessage.setSummary(message);
				throw new ValidatorException(facesMessage);
			}
 
 
 
 
		}
 
		}}
merci d'avance pour votre aide