Bypassing validation on h:inputText
sandman202 Apr 6, 2009 11:09 PMI have a uzerList.xhtml which performs a search. The h:inputText search fields are performing validations defined on the properties from the uzer entity. Is there a way to bypass the validation?
uzerList.xhtml
<ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:s="http://jboss.com/products/seam/taglib" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html" xmlns:rich="http://richfaces.org/rich" template="/layout/template.xhtml"> <ui:define name="body"> <h:form id="uzerSearch" styleClass="edit"> <rich:simpleTogglePanel label="User Search Parameters" switchType="ajax"> ... <s:decorate template="/layout/display.xhtml"> <ui:define name="label">Name</ui:define> <h:inputText id="name" value="#{uzerList.uzer.name}"/> </s:decorate> <s:decorate template="/layout/display.xhtml"> <ui:define name="label">Email</ui:define> <h:inputText id="email" value="#{uzerList.uzer.email}" immediate="true" required="false"/> </s:decorate> ... </rich:simpleTogglePanel> <div class="actionButtons"> <h:commandButton id="search" value="Search" action="/role/admin/UzerList.xhtml" /> </div> </h:form> <rich:panel> ... </ui:define> </ui:composition>
uzer.java
@Entity public class Uzer implements Serializable { ... // seam-gen attributes (you should probably edit these) private Long id; private Integer version; // add additional entity attributes private String name; private String email; ... // seam-gen attribute getters/setters with annotations (you probably should // edit) @Id @GeneratedValue @Column(name = FIELD_ID) public Long getId() { return id; } public void setId(Long id) { this.id = id; } @Version @Column(name = FIELD_VERSION) public Integer getVersion() { return version; } @SuppressWarnings("unused") private void setVersion(Integer version) { this.version = version; } ... @Length(min=1, max = 40) @NotNull // @Pattern(regex = "[a-zA-Z]+", message = // "Last name must only contain letters") @Column(name = FIELD_NAME, nullable = false, length = 40) public String getName() { return name; } public void setName(String name) { this.name = name; } @Email //@NotNull @Column(name = FIELD_EMAIL) public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } ... }
When I press the search button on the xhtml, messages appear. One for the name field something like: "must be between 1 and 40" and one for the email with something like: "not a well formed email address". I do not want to validate on search parameters.
How do I bypass this?