Hi,
I'm trying to realize Bean Validation. I annotated my attributes and set
javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL true.
Furthermore I added a h:message tag in my form. When I test the validation
nothing happens. The input is accepted (and in my case persisted).
Relevant parts of the Code:
Web.xml
<context-param>
<param-name>javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL</par
am-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>javax.faces.VALIDATE_EMPTY_FIELDS</param-name>
<param-value>auto</param-value>
</context-param>
User.java
import javax.validation.constraints.NotNull;
import org.hibernate.validator.constraints.Email;
public class User {
@NotNull
private String nachname;
@NotNull
private String vorname;
@NotNull
private String userID;
@NotNull
private String password;
@NotNull
@Email
private String email;
@NotNull
private String role;
...
}
UserBean.java
@ManagedBean
@SessionScoped
public class UserBean {
private User user = new User();
public void setUser(User user) {
this.user = user;
}
public User getUser() {
return user;
}
public String save() {
[...]
return "/admin/user/showUser.xhtml";
}
[...]
}
And last but not least:
editUser.xhtml
<body>
<h:form id="form">
<h:messages showDetail="true" showSummary="false" />
<h:panelGrid columns="2" id="grid">
<h:outputLabel value="Vorname:" for="firstName" />
<h:inputText id="firstName" value="#{userBean.user.vorname}"
/>
<h:outputLabel value="Nachname:" for="lastName" />
<h:inputText id="lastName" value="#{userBean.user.nachname}"
/>
<h:outputLabel value="Email:" for="email" />
<h:inputText id="email" value="#{userBean.user.email}" />
<h:outputLabel value="Rolle:" for="role" />
<h:inputText id="role" value="#{userBean.user.role}" />
<h:outputLabel value="Passwort:" for="password" />
<h:inputSecret id="password"
value="#{userBean.user.password}" />
<h:commandButton id="save" action="#{userBean.save}"
value="Speichern" />
</h:panelGrid>
</h:form>
</body>
Did I miss a point? I thougt it would only be annotating the Beans.
Thanks for your help!
Matthias Niehoff