problem with multiple 'selectOneMenu' fields
I have a JSF web page with 2 selectOneMenu fields. The first field is populated as the page loads,
the second field is populated from the value selected in the first field. The second field value is
associated to a variable in the backing bean which is used for further processing when the
command button is pressed.
on pressing the command button the following error message appears :
jsfE com.sun.faces.context.FacesContextImpl addMessage Adding Message[sourceId=form1:menu2,summary=Validation Error: Value is not valid)
Below is my JSF page and backing bean. Any help would be appreciated
<h:form styleClass="form" id="form1">
<h:selectOneMenu styleClass="selectOneMenu" id="menu1" valueChangeListener="#{empDetailsBackingBean.EmpSelectDetails}" onchange="submit()">
<f:selectItems value="#{empDetailsBackingBean.selectItems}"/>
</h:selectOneMenu>
<h:selectOneMenu styleClass="selectOneMenu" id="menu2" value="#{empDetailsBackingBean.keyDetails}">
<f:selectItems value="#{empDetailsBackingBean.selectItems1}"/>
</h:selectOneMenu>
<hx:commandExButton type="submit" value="Submit" styleClass="commandExButton" id="button1" action="#{empDetailsBackingBean.EmpDetails}">
</hx:commandExButton>
</h:form>
public class EmpDetailsBackingBean
{
private String c12 = "";
private String c4 = "";
private String empNo = "";
private String title = "";
private String name = "";
private String add1 = "";
private String add2 = "";
private String add3 = "";
private String postCode = "";
private String keyDetails = "";
private List selectItems;
private List selectItems1;
private HoldDetails details;
public EmpDetailsBackingBean()
{
C4Utility util = new C4Utility();
selectItems = util.getDetails();
EmployeeUtility util1 = new EmployeeUtility();
selectItems1 = util1.getDetails("", "Y");
}
public void EmpSelectDetails(ValueChangeEvent vce)
{
c4 = (String) vce.getNewValue();
EmployeeUtility util = new EmployeeUtility();
selectItems1 = util.getDetails(c4, "Y");
}
public String EmpDetails()
{
c12 = keyDetails.substring(0,6);
empNo = keyDetails.substring(6,12);
EmpDetails util = new EmpDetails();
details = util.getEmpVals(c12, empNo);
c12= details.getC12();
empNo = details.getEmpNo();
title = details.getTitle();
name = details.getName();
add1 = details.getAdd1();
add2 = details.getAdd2();
add3 = details.getAdd3();
postCode = details.getPostCode();
return"";
}
public String getAdd1()
{
return add1;
}
public void setAdd1(String add1)
{
this.add1 = add1;
}
public String getAdd2()
{
return add2;
}
public void setAdd2(String add2)
{
this.add2 = add2;
}
public String getAdd3() {
return add3;
}
public void setAdd3(String add3)
{
this.add3 = add3;
}
public String getC12()
{
return c12;
}
public void setC12(String c12)
{
this.c12 = c12;
}
public String getEmpNo()
{
return empNo;
}
public void setEmpNo(String empNo)
{
this.empNo = empNo;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public String getPostCode()
{
return postCode;
}
public void setPostCode(String postCode)
{
this.postCode = postCode;
}
public String getTitle()
{
return title;
}
public void setTitle(String title)
{
this.title = title;
}
public HoldDetails getDetails() {
return details;
}
public void setDetails(HoldDetails details) {
this.details = details;
}
public String getKeyDetails() {
return keyDetails;
}
public void setKeyDetails(String keyDetails) {
this.keyDetails = keyDetails;
}
public List getSelectItems() {
return selectItems;
}
public void setSelectItems(List selectItems) {
this.selectItems = selectItems;
}
public List getSelectItems1() {
return selectItems1;
}
public void setSelectItems1(List selectItems1) {
this.selectItems1 = selectItems1;
}
public String getC4() {
return c4;
}
public void setC4(String c4) {
this.c4 = c4;
}
}

