The Vaadin Wiki is temporarily in read only mode due to large recent spam attacks.

Using Bean Validation to validate input

Tags: vaadin 7.0.0
WARNING: This wiki page was last edited over a year ago and might be outdated.

Before you get started with Bean Validation you need to download a Bean Validation implementation and add it to your project. You can find one for instance at http://bval.apache.org/downloads.html. Just add the jars from the lib folder to your project.

Bean Validation works as a normal validator. If you have a bean with Bean Validation annotations, such as:

#!java
public class Person {

    @Size(min = 5, max = 50)
    private String name;

    @Min(0)
    @Max(100)
    private int age;
    // + constructor + setters + getters
}

You can create a field for the name field as you always would:

#!java
Person person = new Person("John", 26);
BeanItem<Person> item = new BeanItem<Person>(person);

TextField firstName = new TextField("First name",
		item.getItemProperty("name"));
firstName.setImmediate(true);
setContent(firstName);

and add the bean validation as a normal validator:

firstName.addValidator(new BeanValidator(Person.class, "name"));

Your firstName field is now automatically validated based on the annotations in your bean class. You can do the same thing for the age field and you won't be able to set a value outside the valid 0-100 range.

A Bean Validation tutorial is available here: http://docs.oracle.com/javaee/6/tutorial/doc/gircz.html

0 Attachments
25144 Views
Average (1 Vote)
Comments
I'm not sure, but it seems the implementation you point to (Agimatic's project at code.google.com) is now outmoded. Apparently they transitioned that project to become *Apache BVal*. http://bval.apache.org/
Posted on 2/10/13 2:57 AM.
Indeed you are correct. The files can be found at http://bval.apache.org/downloads.html
Posted on 4/25/14 8:08 AM in reply to Basil Bourque.