JSR303自定义校验注解

本文介绍了如何在Java中使用JSR303自定义校验注解,包括三个步骤:创建自定义注解,编写校验器,以及关联注解与校验器。通过示例@ListValue,展示了如何实现类似数组不为空的校验功能,同时也提及了javax.validation.ConstraintValidator中自带的校验器@NotEmpty。
摘要由CSDN通过智能技术生成

1:JSR303自定义校验注解

问题:如果我们校验如下的方式是可以用正则表达式,可是有时候我们的业务只有正则也完成不了,所以我们需要自定义校验注解

	/**
	 * 显示状态[0-不显示;1-显示]
	 */
	 	@ListValue(vals={
   0,1})
	private Integer showStatus;
 	@ListValue(vals={0,1})就是我们需要编写的自定义校验注解

编写自定义校验注解思路:
1)编写一个自定义的校验注解
2)编写一个自定义的校验器
3)关联自定义的校验器和自定义的校验注解

1.1 第一步:编写一个自定义的校验注解@ListValue(我们可以参考一些已经实现的注解如@interface NotNull)

	@ListValue(vals={
   0,1})
	private Integer showStatus;
//原信息数据
 //可以标注在那些位置
@Target({
   ElementType.METHOD, ElementType.FIELD, ElementType.ANNOTATION_TYPE, ElementType.CONSTRUCTOR, ElementType.PARAMETER})
//运行时获取到
@Retention(RetentionPolicy.RUNTIME)
@Documented
//使用哪个校验器进行校验
@Constraint(
 validatedBy = {
   ListValueConstraintValidator.class})
public @interface
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值