bonjour ,
je travaille sur un projet en jsf 2 , j'ai intégré primeFaces pour l'utilisation de l'AJAX tout est bien passé ....
mais quand je remplis mon formulaire et je clique sur envoyer , j'obtiens l'erreur suivante    :  
"j_id630750054_1_4bd35824:villes: Erreur de validation: Valeur not valid. "
voici mon code xhtml :
	
	1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
   |  
                        <h:outputText value="Pays : "/>
 
                        <h:selectOneMenu title="paysHotel" id="paysHotel" value="#{ctrHotels.hotel.paysHotel}" required="true" >
                            <f:selectItems value="#{ctrHotels.listePays}" var="liste" itemLabel="#{liste.nomPays}" itemValue="#{liste.idPays}" />
                            <p:ajax event="change" process="@this" update="villes" actionListener="#{ctrHotels.remplirListeVille}"/>
                        </h:selectOneMenu>
 
 
 
                        <h:outputText value="Ville : "/>
                         <h:selectOneMenu title="VilleHotel" id="villes" value="#{ctrHotels.hotel.villeHotel}" required="true" >
                             <f:selectItems value="#{ctrHotels.listeVilles}" var="listeV" itemLabel="#{listeV.nomVille}" itemValue="#{listeV.idVille}" />
 
                        </h:selectOneMenu> | 
 et voici ma classe java : 
	
	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 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
   |  
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
 
package controleurs;
 
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Resource;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
import javax.transaction.UserTransaction;
import models.Grades;
import models.Hotels;
import models.Pays;
import models.Villes;
 
/**
 *
 * @author MUSTAPHA
 */
@ManagedBean
@RequestScoped
public class CtrHotels {
    @PersistenceContext
    EntityManager em;
    @Resource private UserTransaction utx;
 
    Hotels hotel=new Hotels();
 
    List<Pays> listePays=new ArrayList<Pays>();
    List<Villes> listeVilles=new ArrayList<Villes>();
 
    List<Grades> listeGrades=new ArrayList<Grades>();
 
    public Hotels getHotel() {
        return hotel;
    }
 
    public void setHotel(Hotels hotel) {
        this.hotel = hotel;
    }
public String addHotel(){
    try {
        utx.begin();
        em.persist(hotel);
        em.flush();
        utx.commit();
    } catch (Exception e) {
        e.printStackTrace();
    }
    return "resultatAjoutHotel";
}
 
    public List<Pays> getListePays() {
 
        listePays=em.createNamedQuery("Pays.findAll").getResultList();
        return listePays;
    }
 
    public void setListePays(List listePays) {
        this.listePays = listePays;
    }
 
    public List<Villes> getListeVilles() {
 
        return listeVilles;
    }
 
    public void setListeVilles(List<Villes> listeVilles) {
        this.listeVilles = listeVilles;
    }
 
 
    public List<Grades> getListeGrades() {
        listeGrades=em.createNamedQuery("Grades.findAll").getResultList();
        return listeGrades;
    }
 
    public void setListeGrades(List<Grades> listeGrades) {
        this.listeGrades = listeGrades;
    }
public void remplirListeVille(){
 
         Query req=em.createNamedQuery("Villes.findByIdPays");
    req.setParameter("idPays", hotel.getPaysHotel());
    listeVilles=req.getResultList();
}
 
 
} | 
 
j'ai deja utilisé la balise : 
	
	<f:ajax event="change" render="villes" />
 mais toujours la méme chose    
merci de me répondre .
						
					
Partager