繁体   English   中英

Prime对Treeview的验证

[英]Prime faces validation for treeview

我目前正在探索Prime面孔,并且想知道如何从树形视图中验证选择? 以输入文本区域为例,这非常简单

<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" />

在这里,我们使用必需的属性和标签对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>

我们如何验证一个节点已被实际选择?

我认为必须在提交按钮的操作方法中进行验证。

如果我做对了,您的p:tree有两个bean: TreeBeanCreatAdd bean。 我假设您的操作方法在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
}

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM