Jsf 2 PrimeFaces:commandButton';s validateClient属性';行为

Jsf 2 PrimeFaces:commandButton';s validateClient属性';行为,jsf-2,primefaces,Jsf 2,Primefaces,在下面的SimpleFaces页面中,我试图指示JSF不要验证输入字段 <?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/1

在下面的SimpleFaces页面中,我试图指示JSF不要验证输入字段

<?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:f="http://java.sun.com/jsf/core"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:p="http://primefaces.org/ui">

<h:body>
    <h:form id="createPatientForm_id">
        <p:panelGrid columns="3">
            <p:outputLabel value="First Name" />
            <p:inputText id="firstNameInput_id" label="First Name" required="true" requiredMessage="First Name is required"/>
            <p:message for="firstNameInput_id"/>
        </p:panelGrid>
        <p:commandButton value="Submit" ajax="false" validateClient="false" /> 
    </h:form>
</h:body>   
</html>

当我点击“提交”按钮时,验证就发生了。屏幕截图如下:

我知道我已经配置了
required=“true”
。但是,由于我还指定了
validateClient=“false”
,是否应该跳过验证

这里缺少什么?

除了Primefaces特定的validateClient之外,可能还需要使用immediate=“true”。很可能您已禁用客户端验证,但未禁用服务器端验证。

validateClient默认为“false”