kratos2333
1/15/2017 - 9:42 PM

Customized Validation

Customized Validation

Size.attendee.name=Name must be between {2} and {1} characters
Email=Not a valid email address
NotEmpty=Field cannot be left blank
Phone=Not a valid phone number
attendee.name=Enter Name
attendee.email.address=Enter Email Address
attendee.phone=Enter Phone
package com.pluralsight.view;

import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;

public class PhoneConstraintValidator implements ConstraintValidator<Phone, String> {

	@Override
	public void initialize(Phone phone) {
		
	}

	@Override
	public boolean isValid(String phoneField, ConstraintValidatorContext cxt) {
		if(phoneField == null){
			return false;
		}
		
		return phoneField.matches("[0-9()-]*");
		
	}

}
package com.pluralsight.view;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import javax.validation.Constraint;
import javax.validation.Payload;

@Documented
@Constraint(validatedBy=PhoneConstraintValidator.class)
@Target({ElementType.METHOD,ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface Phone {
	String message() default "{Phone}";
	Class<?>[] groups() default{};
	Class<? extends Payload>[] payload() default{};
	
}
package com.pluralsight.model;

import javax.validation.constraints.Size;

import org.hibernate.validator.constraints.Email;
import org.hibernate.validator.constraints.NotEmpty;

import com.pluralsight.view.Phone;

public class Attendee {
	
	@Size(max=30, min=2)
	private String name;
	
	@NotEmpty @Email
	private String emailAddress;
	
	@Phone
	private String phone;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getEmailAddress() {
		return emailAddress;
	}
	public void setEmailAddress(String emailAddress) {
		this.emailAddress = emailAddress;
	}
	public String getPhone() {
		return phone;
	}
	public void setPhone(String phone) {
		this.phone = phone;
	}
	
	
}