我正在使用primefaces,当提交表单时,我在未处理的输入上得到验证失败:-
<h:form id="result">
<p:outputPanel>
<m:inputProperty property="#{prop}"></m:inputProperty>
</p:outputPanel>
<p:inputText value="#{helper.subFormName}" required="true" styleClass="noprocess"
requiredMessage="#{tags.requiredMessage}" />
<p:commandButton value="#{msg.register}" action="#{registerBean.register}"
process="@(form:not(.noprocess))"></p:commandButton>
</h:form>
表单没有提交,因为类noprocess
的输入为空。那有什么问题吗?是过程表达式吗?不然呢?
在"form"one_answers":not"元素之间添加空格。
@(form :not(.noprocess))
我试过了。它工作得很好。如果单击提交,则只验证input2和input3。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui">
<h:head>
<title>Primefaces Selectors</title>
</h:head>
<h:body>
<h:form>
<p:messages autoUpdate="true" />
<h:panelGrid columns="2">
<p:outputLabel value="Input 1:" for="input1"/>
<p:inputText id="input1" value="" required="true" styleClass="noprocess"/>
<p:outputLabel value="Input 2:" for="input2"/>
<p:inputText id="input2" value="" required="true"/>
<p:outputLabel value="Input 3:" for="input3"/>
<p:inputText id="input3" value="" required="true"/>
</h:panelGrid>
<p:commandButton value="Submit" process="@(form :not(.noprocess))" />
</h:form>
</h:body>
</html>