Primefaces p:pickList和必需属性

时间:2016-01-28 16:22:45

标签: jsf primefaces picklist

修改 我找到了解释(使用f:event)并看到PF具有我假设的行为,即PF框架本身的支持bean值未更新,因为验证阶段失败(因此跳过更新模型值阶段并直接进入渲染阶段)将源/目标列表保留原样。

我有以下代码:

           <p:pickList
            id="parentpicklist"
            value="#{manager.parent}"
            var="entity"
            itemValue="#{entity}"
            labelDisplay="true"
            required="true"
            rendered="#{not empty manager.parent.source or not empty manager.parent.target}">

在页面的末尾,我有一个像这样的p:commandButton:

         <p:commandButton
          action="#{manager.save}"
          value="#{messages.saveLabel}"
          title="#{messages.saveHint}"
          update="edit-extract" <!-- the picklist resides inside of this component -->
          rendered="#{manager.editMode}">

情景: 在页面上是这个选项列表,它的源和目标列表填充了值,即两者都不为空。 现在问题如下:当我从目标列表中删除所有项目并按“保存”时,验证失败并显示:需要验证。到目前为止一切都很好。

问题:它不会显示验证失败,但在加载页面时它会使用其初始值更新picklist。 这是PF标准行为吗?

因为p:commandButton具有默认process="@form"(这就是为什么它正在验证表单中的picklist)。我试了几个东西来自己设置 targetlist 内容,例如onTransfer事件。 但它没有更新目标列表 - &gt;看起来验证失败并且 targetlist 没有得到更新(jsf验证失败并直接进入renderResponse阶段,即模型值未更新)因此旧的resp 。初始值已加载。

致以最诚挚的问候,

ProgrammingIsAwsome

0 个答案:

没有答案