0

这几天我遇到了一些麻烦,我们在网上找不到解决问题的好方法。所以我会放在这里,希望任何人都可以帮助我和其他有同样问题的人。

我们有一个很大的表格,p:selectOneMenu上面有一些组件。当用户想要一个额外的选项时,他可以单击组件侧面的加号按钮,以重定向到新页面以创建新选项并将其保存在数据库中。

我们使用 keepAlive 函数使它工作得很好,该函数通过屏幕保存所需的对象。但是我们有一些必填字段会在空白时阻止加号按钮。

将按钮切换到immediate="true"并没有真正帮助,因为那时字段没有被传递给属性。


所以我们需要一种将字段传递给属性的方法,这样即使某些必填字段为空白,我们也可以跨屏幕保持!有没有人有一个可行的想法?

4

1 回答 1

2

仅在真正按下保存按钮时才让required属性评估。true

<c:set var="saveButtonPressed" value="#{not empty param['form:save']}" />

<h:form id="form">
    <p:selectOneMenu ... required="#{saveButtonPressed}" />
    <p:inputText ... required="#{saveButtonPressed}" />
    ...
    <p:commandButton id="save" ... />
</h:form>
于 2012-11-06T17:14:03.363 回答