Validation Primefaces轮询触发来自f:viewParam的消息

Validation Primefaces轮询触发来自f:viewParam的消息,validation,jsf,primefaces,ajax-polling,viewparams,Validation,Jsf,Primefaces,Ajax Polling,Viewparams,第一篇文章在这里,所以请跟我说一点。搜索了很多,但要么是因为我失明,要么就是因为我没有使用正确的搜索字符串,我没有找到任何与我的问题相关的答案 基本上,我有一个用Java编写并使用Primefaces的web应用程序。我使用的是p:layout,主要内容在布局的中间单元,页眉在北方,页脚在南方单元。west布局单元拥有一个p:poll,它每两秒运行一次,并在触发oncomplete事件时调用js函数 到目前为止还不错。问题是,在中央布局单元的某个页面上,我有一个f:viewParam,它只接受l

第一篇文章在这里,所以请跟我说一点。搜索了很多,但要么是因为我失明,要么就是因为我没有使用正确的搜索字符串,我没有找到任何与我的问题相关的答案

基本上,我有一个用Java编写并使用Primefaces的web应用程序。我使用的是p:layout,主要内容在布局的中间单元,页眉在北方,页脚在南方单元。west布局单元拥有一个p:poll,它每两秒运行一次,并在触发oncomplete事件时调用js函数

到目前为止还不错。问题是,在中央布局单元的某个页面上,我有一个f:viewParam,它只接受long,即使该值有效,当执行上述轮询时,来自f:viewParam的requiredMessage也会出现

在进行深入搜索后,我发现通过向p:poll添加ignoreAutoUpdate=“true”,将不会触发来自f:viewParam的消息,并且不会显示提示我必须提供有效id的警告

所以,我的问题是:在我的p:poll中使用ignoreAutoUpdate=“true”会破坏f:viewParam验证吗?或者把它留在那里安全吗

以下是我的布局中的相关部分:

投票形成西部布局单元:


保存我的f:viewParam:



谢谢大家!

来自Primefaces手册关于ignoreAutoUpdate的部分: “如果为true,则不会显示autoUpdate=“true”的组件 已为此请求更新。如果未指定,或该值为 错误,未作出此类指示。”

这意味着它不会更新viewParam组件和其他具有autoUpdate=“true”的组件


它不会禁用对它的验证。(当然,除非您使用投票进行验证,我认为您不是)

您将
标签放在哪里?默认情况下,
的过程属性设置为
@form
(而
设置为
@all
)。因此,它处理整个表单。您可能需要将
的进程属性改为
@this
(除了
)。
标记基于存储在具有会话范围的ManagedBean中的布尔值使用。我已经考虑过这种可能性,并在提出ignoreAutoUpdate=“true”解决方案之前尝试过。。。