创建验证规则
src/com/luv2code/springdemo/mvc/validation/CourseCode.java
判定规则输入字符必须以“LUV”开头
@Constraint(validatedBy = CourseCodeConstraintValidator.class)
@Target({ElementType.METHOD,ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface CourseCode {
//define default course code
public String value() default "LUV";
//define default error message
public String message() default "Must start with LUV";
//define default groups
public Class<?>[] groups() default {};
//define default payloads
public Class<? extends Payload>[] payload() default {};
}
/src/com/luv2code/springdemo/mvc/validation/CourseCodeConstraintValidator.java
public class CourseCodeConstraintValidator implements ConstraintValidator<CourseCode,String> {
private String coursePrefix;
public void initialize(CourseCode theCourseCode) {
coursePrefix = theCourseCode.value();
}
@Override
public boolean isValid(String theCode, ConstraintValidatorContext theConstrainValidatorContext) {
boolean result;
if(theCode != null)
result = theCode.startsWith(coursePrefix);
else
result = true;
return result;
}
}
在实体类中添加验证规则
customer.java
@CourseCode
private String courseCode;
public String getCourseCode() {
return courseCode;
}
public void setCourseCode(String courseCode) {
this.courseCode = courseCode;
}
HTML文件中添加错误信息
customer-form.jsp
Course Code:<form:input path="courseCode"/>
<form:errors path="courseCode" cssClass="error" />