好的范式:

  1. 定义POJO,里面的字段用校验表单的各种JSR303注解标记;
  2. controller中用@Valid标明这个bean会被检验

检验:

  1. 若有写html前端,那么有html, POJO, controller三个文件,运行之后从前端表单提交发送request测试;
  2. 没有写前端就用postman测试后端接口

JSR303: 用于bean的Java Specification Request:

maven:

1
2
3
4
5
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.1.0.Final</version>
</dependency>

注解和描述:

  • @AssertFalse: 所注解的元素是Boolean类型,且值为false
  • @AssertTrue
  • @DecimalMax 注解的元素是数字, 最大值为这个BigDecimalString值
  • @DecimalMin: 类似上面
  • @Digits: 注解的元素是数字,值必须有指定位数
  • @Future: 注解的元素的值是一个将来时间
  • @Max: 注解元素是数组,最大值
  • @Min
  • @NotNull
  • @Null
  • @Past: 注解元素的值必是一个已过去的日期
  • @Pattern: 注解的元素的值匹配给定的正则表达式
  • @Size: 注解的元素的值是String,集合或数组,长度要符合给定范围