You can also create a validator.
1)
<h:selectOneMenu id="giftValue" value="#{yourController.giftDO.giftValue}"> <f:selectItems value="#{yourController.giftDO.giftValueMap}" /> <f:validator validatorId="selectOneMenuValidator"/> </h:selectOneMenu> <h:message for="giftValue" errorStyle="color:red"/>
2) Create SelectOneMenuValidator.java
public class SelectOneMenuValidator implements Validator { public void validate(FacesContext context, UIComponent arg1, Object value) throws ValidatorException { String giftValue = (String)value; if(giftValue != null && giftValue.toUpperCase().equals("SELECT")){ FacesMessage message = new FacesMessage(); message.setSeverity(FacesMessage.SEVERITY_ERROR); message.setSummary("Please Select a question!"); message.setDetail("Please Select a question!"); context.addMessage("Please Select a question!", message); throw new ValidatorException(message); } } }
3) Add validator to faces-config.xml file
<validator> <validator-id>selectOneMenuValidator</validator-id> <validator-class>net.roseindia.validations.SelectOneMenuValidator</validator-class> </validator>
source share