@Email注解的源码
时间: 2023-10-01 19:04:47 浏览: 187
SpringMVC中使用@RequestBody,@ResponseBody注解实现Java对象和XML/JSON数据自动转换(下)
以下是 @Email 注解的源码示例:
```java
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 = EmailValidator.class)
@Target({ ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER })
@Retention(RetentionPolicy.RUNTIME)
public @interface Email {
String message() default "Invalid email address";
Class<?>[] groups() default {};
Class<? extends Payload>[] payload() default {};
}
```
该注解使用了 JSR-303 验证框架,因此包含了 Constraint、Target、Retention 等元注解。同时,该注解还指定了验证器 EmailValidator.class,该验证器必须实现 ConstraintValidator 接口。
在注解上,可以指定默认错误信息、分组信息和有效载荷信息。在使用时,可以使用该注解对需要验证的字段或参数进行标注,然后使用验证器进行验证。
阅读全文