钓大鱼
123.36M · 2026-04-01
null。@NotNull(message = "用户名不能为空")
private String username;
null 或空字符串 ""。@NotEmpty(message = "密码不能为空")
private String password;
null 或空格字符(包括空格、tab 等)。@NotBlank(message = "用户名不能为空")
private String username;
@Size(min = 5, max = 20, message = "用户名长度必须在 5 到 20 个字符之间")
private String username;
@Min(value = 18, message = "年龄必须大于等于 18 岁")
private int age;
@Max(value = 100, message = "年龄不能超过 100 岁")
private int age;
@Email(message = "邮箱格式不正确")
private String email;
@Pattern(regexp = "^[A-Za-z0-9]+$", message = "用户名只能包含字母和数字")
private String username;
@Min 和 @Max 的组合)。@Range(min = 18, max = 100, message = "年龄必须在 18 到 100 之间")
private int age;
@AssertTrue(message = "必须为成年人")
private boolean isAdult;
@Valid 来触发子对象的校验。public class User {
@Valid
private Address address;
}
<!-- 参数校验 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
@ExceptionHandler(MethodArgumentNotValidException.class)
public Result<String> handleValidationException(MethodArgumentNotValidException e) {
String message = e.getBindingResult().getFieldErrors().stream()
.map(error -> error.getField() + ": " + error.getDefaultMessage())
.collect(Collectors.joining("; "));
return Result.error(400, message);
}