我正在探索Prime面孔,我想知道如何从树视图验证选择?使用例如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" />
这里我们使用required属性和标记获得textinput的valdation。但是对于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>
我们如何验证实际上已经选择了一个节点?
答案 0 :(得分:3)
我认为验证必须在提交按钮的操作方法中完成。
如果我做得对,你有p:tree
的两个bean:TreeBean
和CreatAdd
bean。我假设你的action方法在CreateAdd
bean中:
如果您的提交按钮如下所示:
<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
}
答案 1 :(得分:0)
您可以在辅助bean中进行验证。