仔细的你会发现,相对于一般的自定义注解,该注解:
@Constraint(validatedBy = IdentityCardNumberValidator.class),该注解的作用就是调用身份证校验的工具。
2.3 在UserDTO 需要校验的字段添加声明
/**
* 身份证号(校验:自定义注解校验)
*/
@IdentityCardNumber
private String idNumber;
2.4 控制层接口
@RestController
@RequestMapping("/custom")
public class ValidatorCustomController {
/**
* 自定义注解参数校验案例
* @param userDTO
* @return
*/
@PostMapping("/test")
public HttpResult test(@Validated UserDTO userDTO) {
return HttpResult.success(userDTO);
}
}
2.5 自定义注解的测试
请求方式:POST
请求地址:localhost:8080/private/test
请求参数:
userName:Van
mobile:17098705205
email:110@qq.com
idNumber:350583199108290106
返回结果:
{
"success": false,
"code": 400,
"data": null,
"message": "身份证号码格式不正确"
}
三、分组校验
除了上述的校验外,可能还有这种需求: