Bean validation
Bean validation, validating the properties of a Java bean, is the
most oft used pattern in any application. In the past, people have been
creating their own frameworks to handle the same. JSR-309/JSR-349
strives to create a standardized way of addressing this issue. Below is
an example of simplicity and elegance of this solution.
There's good news for GWT users - bean validation is supported out-of-the-box in GWT 2.5.0+ http://www.gwtproject.org/doc/latest/DevGuideValidation.html .
import java.util.Set;
import javax.validation.ConstraintViolation;
import javax.validation.Validation;
import javax.validation.Validator;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import static org.junit.Assert.assertEquals;
import org.junit.Test;
/**
* @author Anand.Tamariya
*
*/
public class TestValidation {
@Test
public void testForm() {
Validator validator = Validation.buildDefaultValidatorFactory()
.getValidator();
Car car = new Car(null, "DD-AB-123", 4);
Set<ConstraintViolation<Car>> constraintViolations = validator
.validate(car);
assertEquals(1, constraintViolations.size());
assertEquals("may not be null", constraintViolations.iterator().next()
.getMessage());
}
}
class Car {
@NotNull
private String manufacturer;
@NotNull
@Size(min = 2, max = 14)
private String licensePlate;
@Min(2)
private int seatCount;
public Car(String manufacturer, String licencePlate, int seatCount) {
this.manufacturer = manufacturer;
this.licensePlate = licencePlate;
this.seatCount = seatCount;
}
// getters and setters ...
}
Find out more at http://hibernate.org/validator/documentation/getting-started/There's good news for GWT users - bean validation is supported out-of-the-box in GWT 2.5.0+ http://www.gwtproject.org/doc/latest/DevGuideValidation.html .
Comments
Post a Comment