我有一个
p:autoComplete
组件,我想在其中显示基于所选项目的链接。为此,我在 p:autoComplete
的值发生变化时更新组件。其中一部分是在 p:ajax
事件上有一个 clear
监听器。只要“不需要”自动完成组件,这种方法就非常有效。当需要时,我会遇到显示的所需验证器消息。
因此,当 clear
事件触发请求时,我尝试跳过验证。受到JSF跳过Required-Validation而不立即= true的启发,我尝试过:
<p:autoComplete required="#{param['javax.faces.source'] ne component.clientId and ...}"
...>
<p:ajax event="clear" update="..."/>
</p:autoComplete>
和:
<p:autoComplete required="#{empty param['primefaces.resetvalues'] and ...}"
...>
<p:ajax event="clear" update="..." resetValues="true"/>
</p:autoComplete>
但是两者都不起作用。我想要的到底有可能吗?
我正在使用 JSF 2.3(与最近的 Payara 5 捆绑在一起)。
以下应该有效:
查看生成的 HTML 代码即可获取客户端 ID。您还可以在浏览器开发人员工具网络选项卡中检查 HTTP 请求,并查看 HTTP 请求中自动完成组件的参数名称。