springboot~@valid返回第一个错误消息

  • @valid注解将字段上的验证信息进行处理,并统一返回到前端,而有时我们不希望将所有错误一起返回,如下
  • 通过BindingResult接口实例,来返回第一个校验失败的消息
public CommonResult update-password(@RequestBody UserPasswordDTO user) {
  if (bindingResult.hasErrors()) {
    return CommonResult.clientFailure(bindingResult.getAllErrors().get(0).getDefaultMessage());
   }
}
  • UserDTO的定义
@Data
@ApiModel("更新密码DTO")
public class UserPasswordDTO {
    @ApiModelProperty("老密码")
    @Pattern(regexp = RegexUtils.password3, message = "老密码格式不合法")
    private String password;
    @ApiModelProperty("新密码")
    @Pattern(regexp = RegexUtils.password3, message = "新密码格式不合法")
    private String newPassword;
    @ApiModelProperty("确认密码")
    @Pattern(regexp = RegexUtils.password3, message = "确认密码格式不合法")
    private String confirmPassword;

}
  • 之后,会返回第一个验证失败的消息.
posted @ 2022-07-11 09:23  张占岭  阅读(818)  评论(0编辑  收藏  举报