myfaces-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matthias Niehoff" <niehoff.matth...@googlemail.com>
Subject AW: Bean Validation (JSR 303)
Date Mon, 27 Sep 2010 14:01:30 GMT
Hey,

I get this message: 
27.09.2010 15:57:32 org.apache.myfaces.util.ExternalSpecifications
isBeanValidationAvailable
INFO: MyFaces Bean Validation support disabled
I double checked the classpath. javax.validation.Validation is on it. 

Regards

Matthias

-----Urspr√ľngliche Nachricht-----
Von: Jan-Kees van Andel [mailto:jankeesvanandel@gmail.com] 
Gesendet: Montag, 27. September 2010 13:52
An: MyFaces Discussion
Betreff: Re: Bean Validation (JSR 303)

Hey,

If you specify javax.faces.VALIDATE_EMPTY_FIELDS=auto, MyFaces will look for
a class named javax.validation.Validation on the classpath. If it is found,
it will try to initialize it, using:
Validation.buildDefaultValidatorFactory().getValidator();

This call may fail, for instance, because of a configuration error in your
bean validation code. And if it does, MyFaces will catch this error and log
an error message: "Error initializing Bean Validation (could be normal)"

Afterwards, you should see a message in the log: "MyFaces Bean Validation
support enabled" or "MyFaces Bean Validation support disabled", depending on
whether initalization succeeded or not.

Do you see those log messages?

Regards,
Jan-Kees


2010/9/27 Matthias Niehoff <niehoff.matthias@googlemail.com>

> Yes, using Hibernate Validator 4.1.0 Final and Validation API 1.0.0.
> Is there anything else to configure?
>
> Regards
> Matthias
>
> -----Urspr√ľngliche Nachricht-----
> Von: Michael Kurz [mailto:michi.kurz@gmx.at]
> Gesendet: Montag, 27. September 2010 13:33
> An: users@myfaces.apache.org
> Betreff: Re: Bean Validation (JSR 303)
>
> Do you have a bean validation implementation like Hibernate Validator 
> on your classpath?
>
> regards
> Michael
>
> Am 27.09.2010 13:21, schrieb Matthias Niehoff:
> > 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_N
> > UL
> > L</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
> >
>
>


Mime
View raw message