Skip to main content

Blog Archive for mriem during September 2012

See what the JSF Validator API is about! The definition of a Converter according to the Converter interface:   Object getAsObject(FacesContext context, UIComponent component, String value)  String getAsString(FacesContext context, UIComponent component, Object value) The Faces Context is passed in so the converter can introspect various aspects of the request and response. The UI...
Introduction to JSF Converters During the JSF lifecycle each input value needs to be converted. As such the JSF runtime allows you to write converters that will take care of that during request processing. Several standard converters are part of the standard JSF runtime. Note that the specification has been written with extension in mind so it is also possible to write your own converter...
The following blog articles are part of the JSF Validator series Introduction to JSF Validators The JSF Validator API The LengthValidator The LongRangeValidator The DoubleRangeValidator The RegexValidator The RequiredValidator Writing your own Validator Packaging your JSF Validator Multiple component validation The BeanValidator The FacesValidator annotation
In the previous blog entry titled "Writing your own validator" you learned how to write a validator and hook it up for validation. At that time we made it all work using the faces-config.xml file. There is however another way, which we will describe below!   package nohelloworld;  @FacesValidator(value="NoHelloWorldValidator")  public class NoHelloWorldValidator...
Since JSF 2 it is also possible to use BeanValidation as specified in JSR 303. The following blog article describes how this JSR has been integrated within JSF 2. With the following JSF managed bean. public class UserInfo {    /**     * Stores the username.     */    private String username;    /** ...
Writing your own validator is a straightforward process. It involves implementing the Validator API and making sure you register it properly. Say you want to write a validator that will not allow you to use the string "Hello World" as a value.   package nohelloworld;  public class NoHelloWorldValidator implements Validator {        public void...
Say you want to make sure that a value is required. <html xmlns:h="http://java.sun.com/jsf/html"  xmlns:f="http://java.sun.com/jsf/core">  <h:inputText value="#{user.firstName}">   <f:validateRequired/>  </h:inputText> </html> If you want to disable the RequiredValidator on a page you can...
If you want to validate input against a regular expression then you would use the RegexValidator. Say you want to make sure only letters are used for a name. <html xmlns:h="http://java.sun.com/jsf/html"  xmlns:f="http://java.sun.com/jsf/core">  <h:inputText value="#{user.firstName}">   <f:validateRegex pattern=...
Just like the LongRangeValidator before the DoubleRangeValidator validates if the given value is within the given range, but then a range of doubles. Say you want to make sure your donors can donate as little as 1.00 but at most 250.00. <html xmlns:h="http://java.sun.com/jsf/html"  xmlns:f="http://java.sun.com/jsf/core">  <h:inputText value=...
If you want to make sure a value is within given Long range then the LongRangeValidator is for you! Say you want to make sure your users are at least 13 but at most 18. <html xmlns:h="http://java.sun.com/jsf/html"  xmlns:f="http://java.sun.com/jsf/core">  <h:inputText value="#{user.age}">   <f:validateLongRange...