13、Hibernate验证信息

Hibernate验证信息

  • 最新版本需要自己添加依赖 Spring中只有判断空的校验
<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-validation</artifactId>
</dependency>
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;

public class UsersBo {

    @NotBlank(message = "用户名不能为空")
    @Length(max = 12,message = "用户名不能超过12位")
    @ApiModelProperty(value = "用户名",example = "张三",required = true)
    private String username;

//    @Pattern(regexp = "^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{6,16}$",message = "密码必须由8到16位大小写字母、数字组成且第一位必须是字母")
    @ApiModelProperty(value = "密码(注册无需前端加密, 登录前端加密)",example = "123456",required = true)
    private String password;
}
  • 需要在接收参数加@Valid注解
@PostMapping("login")
public Result doLogin(@RequestBody @Valid UsersBo usersBo,
BindingResult bindingResult, 
HttpServletRequest request,
HttpServletResponse response){
    if(bindingResult.hasErrors()){
            Map<String,String> map = new HashMap<>();
            for (FieldError error:  bindingResult.getFieldErrors()) {
                String errorField = error.getField();
                String errorMsg = error.getDefaultMessage();
                map.put(errorField,errorMsg);
            }
            return Result.error(map);
        }
    Users users = usersService.doLogin(usersBo);
    if (users == null){
        return Result.error(CodeMsg.USERNAME_PWD_ERROR);
    }
    CookieUtils.setCookie(request,response,"user", JsonUtils.objectToJson(users),true);
    return Result.success(users);
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容