Validations are executed on the server side and page is updated with the result.
Documentation<h:form>
<p:panel id="panel" header="New User">
<p:messages id="msgs" />
<h:panelGrid columns="3" cellpadding="5">
<p:outputLabel for="firstname" value="Firstname:" />
<p:inputText id="firstname" value="#{userView.firstname}" required="true" label="Firstname">
<f:validateLength minimum="2" />
</p:inputText>
<p:message for="firstname" display="icon" />
<p:outputLabel for="lastname" value="Lastname:" />
<p:inputText id="lastname" value="#{userView.lastname}" label="Lastname" required="true">
<f:validateLength minimum="2" />
<p:ajax update="msgLastname" event="keyup" />
</p:inputText>
<p:message for="lastname" id="msgLastname" display="icon" />
</h:panelGrid>
<p:commandButton value="Save" update="panel" action="#{userView.save}" icon="pi pi-check" />
</p:panel>
</h:form>@Named
@RequestScoped
public class UserView {
private String firstname;
private String lastname;
public String getFirstname() {
return firstname;
}
public void setFirstname(String firstname) {
this.firstname = firstname;
}
public String getLastname() {
return lastname;
}
public void setLastname(String lastname) {
this.lastname = lastname;
}
public void save() {
FacesContext.getCurrentInstance().addMessage(null,
new FacesMessage("Welcome " + firstname + " " + lastname));
}
}