javax validation project updates

This commit is contained in:
mnkartik 2015-10-02 11:47:36 +05:30
parent 5c1ce1c74a
commit 7c9070a3a2
2 changed files with 47 additions and 92 deletions

View File

@ -1,59 +1,26 @@
package sample.model; package sample.model;
import javax.validation.constraints.AssertTrue;
import javax.validation.constraints.Max; import javax.validation.constraints.Max;
import javax.validation.constraints.Min; import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import org.hibernate.validator.constraints.Email;
import org.hibernate.validator.constraints.NotEmpty;
public class User { public class User {
@NotNull(message = "First name cannot be null") @NotNull(message = "Name cannot be null")
@NotEmpty(message = "First name cannot be empty") private String name;
private String fname;
@NotNull(message = "Last name cannot be null") @AssertTrue
@NotEmpty(message = "Last name cannot be empty") private boolean working;
private String lname;
@Min(value = 18, message = "Age must be greater than or equal to 18") @Size(min = 10, max = 200, message = "About me should not exceed more than 10 characters")
@Max(value = 150, message = "Age must be less than or equal to 150") private String aboutMe;
@Min(value = 18, message = "Age should not be less than 18")
@Max(value = 150, message = "Age should not be more than 150")
private int age; private int age;
@NotNull(message = "Last name cannot be null")
@NotEmpty(message = "Last name cannot be empty")
private String gender;
@NotNull(message = "Email Address is compulsory")
@NotEmpty(message = "Email Address is compulsory")
@Email(message = "Email Address is not a valid format")
private String email;
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getFname() {
return fname;
}
public void setFname(String fname) {
this.fname = fname;
}
public String getLname() {
return lname;
}
public void setLname(String lname) {
this.lname = lname;
}
public int getAge() { public int getAge() {
return age; return age;
} }
@ -62,12 +29,28 @@ public class User {
this.age = age; this.age = age;
} }
public String getGender() { public boolean isWorking() {
return gender; return working;
} }
public void setGender(String gender) { public void setWorking(boolean working) {
this.gender = gender; this.working = working;
}
public String getAboutMe() {
return aboutMe;
}
public void setAboutMe(String aboutMe) {
this.aboutMe = aboutMe;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
} }
} }

View File

@ -16,85 +16,57 @@ import sample.model.User;
public class ValidationTest { public class ValidationTest {
@Test @Test
public void validation_when_fname_is_null() { public void ifNameIsNull_nameValidationFails() {
System.out
.println("\n---------------validation_when_fname_is_null--------------");
// [1]
User user = new User(); User user = new User();
user.setLname("Last"); user.setWorking(true);
user.setEmail("first.last@gmail.com"); user.setAboutMe("Its all about me!!");
user.setGender("male"); user.setAge(50);
user.setAge(29);
ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
// [2]
ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
// [3]
Validator validator = factory.getValidator(); Validator validator = factory.getValidator();
// [4]
Set<ConstraintViolation<User>> violations = validator.validate(user); Set<ConstraintViolation<User>> violations = validator.validate(user);
// [5]
Iterator<ConstraintViolation<User>> iter = violations.iterator(); Iterator<ConstraintViolation<User>> iter = violations.iterator();
while (iter.hasNext()) { while (iter.hasNext()) {
// [6]
ConstraintViolation<User> cv = iter.next(); ConstraintViolation<User> cv = iter.next();
// [7]
System.out.println(cv.getMessage());
} }
Assert.assertEquals(violations.isEmpty(), false); Assert.assertEquals(violations.isEmpty(), false);
} }
@Test @Test
public void validation_when_empty_lname() { public void ifWorkingIsFalse_workingValidationFails() {
System.out
.println("\n---------------validation_when_empty_lname--------------");
User user = new User(); User user = new User();
user.setFname("First"); user.setName("MyName");
user.setLname(""); user.setAboutMe("Its all about me!!");
user.setEmail("first.last@gmail.com"); user.setAge(50);
user.setGender("male");
user.setAge(29);
// validate the input ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
Validator validator = factory.getValidator(); Validator validator = factory.getValidator();
Set<ConstraintViolation<User>> violations = validator.validate(user); Set<ConstraintViolation<User>> violations = validator.validate(user);
Iterator<ConstraintViolation<User>> iter = violations.iterator(); Iterator<ConstraintViolation<User>> iter = violations.iterator();
while (iter.hasNext()) { while (iter.hasNext()) {
ConstraintViolation<User> cv = iter.next(); ConstraintViolation<User> cv = iter.next();
System.out.println(cv.getMessage());
} }
Assert.assertEquals(violations.isEmpty(), false); Assert.assertEquals(violations.isEmpty(), false);
} }
@Test @Test
public void validation_when_email_is_invalid() { public void ifAgeNotRange_ageValidationFails() {
System.out
.println("\n---------------validation_when_email_is_invalid--------------");
User user = new User(); User user = new User();
user.setFname("First"); user.setName("MyName");
user.setLname("Last"); user.setAboutMe("Its all about me!!");
user.setEmail("firstgmail.com"); user.setAge(8);
user.setGender("male");
user.setAge(29);
// validate the input ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
Validator validator = factory.getValidator(); Validator validator = factory.getValidator();
Set<ConstraintViolation<User>> violations = validator.validate(user); Set<ConstraintViolation<User>> violations = validator.validate(user);
Iterator<ConstraintViolation<User>> iter = violations.iterator(); Iterator<ConstraintViolation<User>> iter = violations.iterator();
while (iter.hasNext()) { while (iter.hasNext()) {
ConstraintViolation<User> cv = iter.next(); ConstraintViolation<User> cv = iter.next();
System.out.println(cv.getMessage());
} }
Assert.assertEquals(violations.isEmpty(), false); Assert.assertEquals(violations.isEmpty(), false);