Javascript 在JSF格式的p:dialog上执行验证

Javascript 在JSF格式的p:dialog上执行验证,javascript,validation,jsf,primefaces,Javascript,Validation,Jsf,Primefaces,我正在使用p:message在p:dialog中进行验证,该对话框通过单击表单上的按钮打开。因此,我的主窗体有两个对话框,在单击按钮时打开,这两个对话框中有一个h:form 在主窗体中,我有两个字段username和password,因此当用户输入空值并单击submit时,错误消息会显示在主窗体上,并且对话框还会弹出错误消息,这不应该是行为。我希望主窗体的验证仅显示在窗体上,而p:dialog中字段的验证仅显示在p:dialog中。你能帮我吗 如果需要更多信息,请告诉我。其中一种可能性是为每个表

我正在使用
p:message
p:dialog
中进行验证,该对话框通过单击表单上的按钮打开。因此,我的主窗体有两个对话框,在单击按钮时打开,这两个对话框中有一个
h:form

在主窗体中,我有两个字段username和password,因此当用户输入空值并单击submit时,错误消息会显示在主窗体上,并且对话框还会弹出错误消息,这不应该是行为。我希望主窗体的验证仅显示在窗体上,而
p:dialog
中字段的验证仅显示在
p:dialog
中。你能帮我吗


如果需要更多信息,请告诉我。

其中一种可能性是为每个表单中的每个输入设置一个单独的
组件。这样,只会显示相关消息。例如:

<h:form>
    <h:inputText id="value" ... />
    <p:message for="value>
    ...
</h:form>
<p:dialog>
    <h:form>
        <h:inputText id="value" ... />
        <p:message for="value>
        ...
    </h:form>
<p:dialog>

...

如果您希望显示全局消息,您可以考虑使用“悬停”组件,如<代码> GloalOnLe=“true” .< /P>:从对话框中实现主窗体Apple(即使您在同一页面中拥有所有内容)。每个对话框的内部也有其形式。这样,您就可以正确地划分发送的内容。为了验证,只需在对话框中为主窗体和其他窗体添加一个

标记。当然,忘了嵌套表单(每个输入元素必须只与父表单相关!)。所以我有这样的东西:。。。现在,当我提交用户名为空的表单时,它应该在表单上显示一条消息,指示“需要用户名”。因此,当我单击submit时,它将进入bean,bean对其进行验证,并将此消息发送到jsf,并返回带有消息的login.xhtml。问题是它显示在表单上,也显示在p:对话框中。您还希望放置两个
组件吗?您基本上告诉JSF自己显示它们两次。再次阅读答案,并尝试实现它所说的内容。如果您有任何困难,请回来。我尝试了这一点,并按照预期对各个字段进行了处理。但我还有一个场景,在其中,当输入两个字段值并提交表单时,请求将转到bean并验证用户名和密码是否存在,如果不存在,则应显示一条消息,说明“无效的用户名和密码“当我们使用每一个元素的单独的P:消息时,我怎样才能做到这一点。只是不要将您的邮件附加到任何组件,它将以“悬停”方式显示在
中。谢谢您的回复。在导航到下一页时,我有一个关于使用p:growl的问题。因此,当我转到一个jsf并在操作成功时执行一些操作时,我会将用户重定向到下一页。在这种情况下,不会显示消息。你知道我该如何做吗?