发送缺少必填字段的jsf请求时出错

时间:2012-11-06 17:07:44

标签: jsf-2 primefaces

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

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

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

将按钮切换为immediate="true"并没有多大帮助,因为这些字段没有传递给属性。


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

1 个答案:

答案 0 :(得分: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>