2011-03-23 51 views
1

我目前正在探索总理的面孔,我想知道我们如何验证树视图中的选择?随着例如inputtextarea,这是很简单的总理面临验证树视图

<p:inputTextarea id="description" 
    value="#{createAdd.add.description}" cols="50" rows="5" 
    validatorMessage="Max length is 25" required="true" 
    requiredMessage="Description is required"> 
    <f:validateLength maximum="25" /> 
</p:inputTextarea> 
<p:message for="description" /> 

在这里,我们得到valdation使用所需的属性和标签的TextInput。但是对于TreeView组件没有必需的属性,并且标记不起作用。

因此,例如

<p:tree value="#{treeBean.root}" var="node" dynamic="true" 
id="category" selectionMode="single" 
    selection="#{createAdd.add.category}" > 
    <p:treeNode> 
     <h:outputText value="#{node}" /> 
    </p:treeNode> 
</p:tree> 

我们如何可以验证一个节点实际上已经给出选择?

回答

3

我认为验证必须在您的提交按钮的操作方法中完成。

如果我理解正确,那么您的p:tree有两个豆子:TreeBeanCreatAdd豆子。我假设你的操作方法是在CreateAdd豆:

如果你的提交按钮看起来是这样的:

<h:commandButton value="#{bundle.del}" action="#{CreateAdd.doSubmitAction}"/> 

然后,你可以在操作方法检查所选值:

public String doSubmitAction() { 
    if(category == null) { 
    FacesMessage facesMsg = new FacesMessage(FacesMessage.SEVERITY_ERROR, "No node selected", "No node selected"); 
    FacesContext.getCurrentInstance().addMessage(null, facesMsg); 
    return null; 
    } 
    // do other stuff 
} 
+0

看起来像这正是我需要的。对不起,如果这是一个非常明显的问题,但是我开始在同一时间开始使用JSF,Spring和Primefaces有点困惑:-) – Daniel 2011-03-24 15:58:44

0

你可以在你的支持bean中进行验证。