在下面的简单面部页面中,我试图指示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"
?
我在这里缺少什么?
答案 0 :(得分:2)
您需要使用immediate =“true”,可能除了Primefaces特定的validateClient之外。可能性是您已禁用客户端验证,但不是服务器端验证。