title: selectOneMenu validation error
body: <p>I implemented code that allows me to display a dropdown which depends on another. Everything works fine except when I try to retrieve and display the value of the two fields, it raises the following error:</p>
  
  <blockquote>
    <p>form:parcours : erreur : de validation. la valeur est incrorrecte</p>
  </blockquote>
  
  <p>in english : </p>
  
  <blockquote>
    <p>form:parcours : validation error. value is not valid</p>
  </blockquote>
  
  <p>I am using JSF 2.0, EJB 3.0, JPA 2.0 and PrimeFaces 3.2.</p>
  
  <p>View:</p>
  
  <pre><code>    &lt;h:form id="form" &gt;
  
  &lt;!-- &lt;p:growl id="msgs" showDetail="true"/&gt; --&gt;
  &lt;h:messages globalOnly="true"/&gt;
  &lt;p:growl   id="msgs" showDetail="true" /&gt;
  
  
  &lt;p:panel header="Double Combo" style="margin-bottom:10px;"&gt;
      &lt;h:panelGrid columns="2" cellpadding="5"&gt;
  
          &lt;p:selectOneMenu id="countries" value="#{plansEtude.selectedDep}"&gt;
              &lt;f:selectItem itemLabel="Select Country" itemValue="" /&gt;
              &lt;f:selectItems value="#{plansEtude.depList}" var="c" itemLabel="#{c.nomDepFr}" itemValue="#{c.id}"/&gt;
              &lt;p:ajax update="parcours,parcoursTab"
                      listener="#{plansEtude.handleDepChange}" /&gt;
          &lt;/p:selectOneMenu&gt;
          &lt;p:selectOneMenu id="parcours" value="#{plansEtude.selectedParcours}" &gt;
              &lt;f:convertNumber maxFractionDigits="0"/&gt;
              &lt;f:selectItem itemLabel="Select City" itemValue="" /&gt;
              &lt;f:selectItems value="#{plansEtude.parcoursList}" var="ct" itemLabel="#{ct.designParcours}" itemValue="#{ct.id}"   /&gt;
  
          &lt;/p:selectOneMenu&gt;
  
      &lt;/h:panelGrid&gt;
      &lt;p:separator /&gt;
  
          &lt;p:commandButton value="Submit" update="msgs" actionListener="#{plansEtude.displayLocation}" id="btnSubmit"/&gt;
  
      &lt;/p:panel&gt;
  </code></pre>
  
  <p>
                          
                              
                                  
                              
                              
                          
                          
                              
                                  
                              
                              
                          </p>
  
  <p>Controller : </p>
  
  <pre><code>@EJB
  private DepartementFacade departementFacade;
  @EJB
  private ParcoursFacade parcoursFacade;
  private List&lt;Departement&gt; depList;
  private List&lt;Parcours&gt; parcoursList;
  private Integer selectedDep;
  private Integer selectedParcours;
  
  
  public PlansEtude() {
  }
  
  public DepartementFacade getDepartementFacade() {
      return departementFacade;
  }
  
  public void setDepartementFacade(DepartementFacade departementFacade) {
      this.departementFacade = departementFacade;
  }
  
  public ParcoursFacade getParcoursFacade() {
      return parcoursFacade;
  }
  
  public void setParcoursFacade(ParcoursFacade parcoursFacade) {
      this.parcoursFacade = parcoursFacade;
  }
  
  public List&lt;Departement&gt; getDepList() {
      depList = getDepartementFacade().findAll();
      return depList;
  }
  
  public void setDepList(List&lt;Departement&gt; depList) {
  
      this.depList = depList;
  }
  
  public List&lt;Parcours&gt; getParcoursList() {
      return parcoursList;
  }
  
  public void setParcoursList(List&lt;Parcours&gt; parcoursList) {
      this.parcoursList = parcoursList;
  }
  
  public Integer getSelectedDep() {
      return selectedDep;
  }
  
  public void setSelectedDep(Integer selectedDep) {
      this.selectedDep = selectedDep;
  }
  
  public Integer getSelectedParcours() {
      return selectedParcours;
  }
  
  public void setSelectedParcours(Integer selectedParcours) {
      this.selectedParcours = selectedParcours;
  }
  
  public void handleDepChange(){
       if(selectedDep !=null &amp;&amp; !selectedDep.equals(""))  
  
         parcoursList = parcoursFacade.findParcoursInDep(selectedDep);  
     else  
          parcoursList = new ArrayList&lt;Parcours&gt;();
  
  }
  
  public void handleParcoursChange(){
  
  }
  
  public void displayLocation() {  
      String monMessage="Departement :" + selectedDep + ", Parcours : " + selectedParcours;
      FacesMessage msg = new FacesMessage("Selected", monMessage);  
  
      FacesContext.getCurrentInstance().addMessage(null, msg);  
  }
  </code></pre>
  
  <p>}</p>
  
  <p>parcoursFacade : </p>
  
  <pre><code> public List&lt;Parcours&gt; findParcoursInDep(Integer dep){
      Query query = em.createNamedQuery("Parcours.findParcoursInDep");
      query.setParameter("dep", dep);
      return (List&lt;Parcours&gt;)query.getResultList();
  }
  </code></pre>
  
  <p>Named query : </p>
  
  <pre><code>     @NamedQuery(name = "Parcours.findParcoursInDep", query = "SELECT p FROM Parcours p WHERE p.departementid.id = :dep"),
  </code></pre>