Bean Validation : Hibernate Validator framework
Bean Validation with Hibernate Validator framework
JSR 303
This JSR will define a meta-data model and API for JavaBeanTM validation based on annotations, with overrides and extended meta-data through the use of XML validation descriptors. http://jcp.org/en/jsr/detail?id=309
JSR 349
Bean Validation
standardizes constraint definition, declaration and validation for the
Java platform. For more information on Bean Validation and how to
participate, check out http://beanvalidation.org. http://jcp.org/en/jsr/detail?id=349
Hibernate Validator
Hibernate Validator 5.x is the reference implementation for JSR 349 - Bean Validation 1.1 of which Red Hat is the specification lead.http://www.hibernate.org/subprojects/validator.htmlSample Implementation.
In the sample implementation, we have a class User.java with validation annotations. A test class to validate the object and to print the error messages at the console. The code is completely self explanatory.User.java
package com;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.validation.constraints.Max;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import org.hibernate.validator.constraints.Email;
public class User {
private String firstName;
private String lastName;
@Max(message="Age should be max 2 digits", value = 2)
private short age;
private String email;
private Date dob;
@Pattern(regexp = "\\d{2}\\\\\\d{2}\\\\\\d{4}", message="Invalid date")
public String getDateString(){
String dateString = new SimpleDateFormat("dd\\mm\\yyyy").format(dob);
System.out.println("DateString :: "+dateString);
return dateString;
}
@NotNull(message="First name is mandatory.")
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
@Pattern(regexp="[a-zA-Z]{1,5}$",message="Last name should not contain special characters")
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public short getAge() {
return age;
}
public void setAge(short age) {
this.age = age;
}
@Email(message="Not a valid email address")
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public Date getDob() {
return dob;
}
public void setDob(Date dob) {
this.dob = dob;
}
}
ValidatorTest.java
package com;
import java.util.Set;
import javax.validation.ConstraintViolation;
import javax.validation.Validation;
import javax.validation.Validator;
import javax.validation.ValidatorFactory;
public class ValidatorTest {
public static void main(String[] args) {
validate();
}
public static void validate(){
User user = new User();
user.setEmail("abcd");
user.setLastName("horos");
user.setAge((short)123);
user.setDob(new java.util.Date());
ValidatorFactory vf = Validation.buildDefaultValidatorFactory();
Validator validator = vf.getValidator();
Set<ConstraintViolation<User>> violations = validator.validate(user);
for(ConstraintViolation<User> c: violations){
System.out.println(c.getPropertyPath() +" - "+ c.getMessage());
}
}
}
Output
| INFO Version:27 - HV000001: Hibernate Validator 5.0.1.Final DateString :: 03\21\2013 age - Age should be max 2 digits email - Not a valid email address firstName - First name is mandatory. |
Easy and funny :)
ReplyDelete134F6F2C3D
ReplyDeletekiralık hacker
hacker arıyorum
belek
kadriye
serik
291D1AA486
ReplyDeleteInstagram Takipçi Hilesi
Youtube Beğeni Hilesi
Twitter Ücretsiz Takipçi
Snapchat İzlenme Hilesi
Discord Üye Hilesi
Discord Ücretsiz Üye
Twitch Ücretsiz Takipçi
Shorts Ücretsiz İzlenme
SoundCloud Ücretsiz Takipçi