在下面这个简单的页面中,标准按钮和PrimeFaces按钮都会触发验证并显示预期的消息。但是,如果没有验证错误,如果使用标准按钮提交B ,浏览器将导航到nextPage.xhtml 。按提交A 似乎只是稍微改变了页面的外观,并且没有进行导航。
<h:head>
<title>Some Title</title>
</h:head>
<h:body>
<h:form id="form">
<p:panelGrid id="panel" columns="2" border="0" cellpadding="10" cellspacing="1">
<p:outputLabel value="Enter Username" />
<p:inputText id="username" size="20" label="UserName" required="true">
<f:validateLength for="username" minimum="5" maximum="20" />
</p:inputText>
<p:outputLabel value="PrimeFaces Btn" />
<p:commandButton value="Submit A" action="nextPage" update="form"/>
<p:outputLabel value="Standard Btn" />
<h:commandButton value="Submit B" action="nextPage" />
</p:panelGrid>
<!-- <p:messages autoUpdate="true" /> -->
<p:message for="username" />
</h:form>
</h:body>
</html>