【发布时间】:2019-11-27 13:16:22
【问题描述】:
我有一个带有 ajax 的表单中的 selectOneMenu,用于在触发时更新单独的组件。此菜单还使用验证。菜单中的第一项为空,如果该项为空,验证确保您无法提交表单。但是,我确实希望用户能够选择空项目,并将我的支持 bean 中该项目的值设置为空。但是,当用户选择 null 项时,设置不会发生,因为首先发生验证失败并引发异常,从而阻止在我的支持 bean 中将值设置为 null。
这是我的代码
<h:form>
...
<p:selectOneMenu value="#{myBean.container}">
<f:selectItem itemLabel="Select One" itemValue=#{null} />
<f:selectItems value="#{myBean.getContainerItems()}" />
<p:ajax event="change" update="containerNumSection" />
<f:validateRequired />
</p:selectOneMenu>
...
</h:form>
当用户在保持验证的同时选择 null 项时,有什么方法可以将我的支持 bean 中的值设置为 null?
【问题讨论】:
-
如果没有
f:validateRequired,null甚至不会提交,是吗? (经测试 PF 7.0) -
不,它不提交,这就是我想要的,但是每次由于 ajax 而更改值时,也会发生验证。这可以防止在我的支持 bean 中将值设置为
null -
而且它甚至不会在没有 ajax 的情况下提交,是吗?
h:selectonemenu有效吗?
标签: jsf primefaces