Forms listbox的JSF-Bean级表单验证

Forms listbox的JSF-Bean级表单验证,forms,validation,jsf,listbox,Forms,Validation,Jsf,Listbox,我有一个用JSF设计的表单。我需要检查是否选择了列表框项。我正在做bean级验证。我的代码是: <webuijsf:listbox style="margin-left:10px;" binding="#user$webreports$frequentvisitorscategories.listBox}" id="listbox" items="#frequentvisitorscategories.listboxDefaultOptions.options}" selected="#

我有一个用JSF设计的表单。我需要检查是否选择了列表框项。我正在做bean级验证。我的代码是:

<webuijsf:listbox style="margin-left:10px;" binding="#user$webreports$frequentvisitorscategories.listBox}"
id="listbox"  items="#frequentvisitorscategories.listboxDefaultOptions.options}"
selected="#{user$webreports$frequentvisitorscategories.selectedItemCategory}" rows="10" styleClass="listbox" multiple="true" width="190" required="true" validatorExpression="#{frequentvisitorscategories.category_validate}" />                      
----------------------------------------------------------------------
 public void categories_validate(FacesContext context, UIComponent component, Object value) 
{       String selectedValue = (String) value;

        if(selectedValue.equals(null))
        {
            ((UIInput)component).setValid(false);

            FacesMessage message = new FacesMessage("Please select a category");

            context.addMessage(component.getClientId(context), message);
        }
    } 

----------------------------------------------------------------------
公共无效类别\u验证(FacesContext上下文、UIComponent、对象值)
{String selectedValue=(String)值;
if(selectedValue.equals(null))
{
((UIInput)组件).setValid(false);
FacesMessage message=新的FacesMessage(“请选择一个类别”);
context.addMessage(component.getClientId(context),message);
}
} 
当我没有选择某个内容时,它不会显示验证消息。有人对此有什么看法吗?
提前感谢

这里的
required=“true”
是为您准备的。但你已经有了这个。它应该在没有自定义验证器的情况下以这种方式工作。您是否有
以显示消息?不幸的是,无论是否有自定义验证器,它都无法工作。我没有留言标签。但是,如果没有消息标签,它不应该工作吗?我在同一个页面中有文本输入字段,它们在没有消息标记的情况下工作。呃,你怎么会期望JSF能够在你不使用消息标记的情况下显示消息?太好了!我跳过了这一部分来实现。现在我添加消息标签,它的工作!虽然我仍然不明白为什么它不抛出默认错误消息(它为文本输入抛出默认错误消息),但现在我还有一个问题:如何更改错误消息?它没有显示我上面写的消息,而是显示“必需的报告118:frequentvisitorscategories:form1:listbox:Validation Error:Value是必需的。”