项目总结之JSR303校验

注册数据校验

注册参数

@Data
public class UserRegisterVo {

    @NotEmpty(message = "用户名必须填写")
    @Length(min = 6, max = 18, message = "用户名必须6~18为字符")
    private String userName;

    @NotEmpty(message = "密码必须填写")
    @Length(min = 6, max = 18, message = "密码必须6~18为字符")
    private String password;

    @NotEmpty(message = "手机号必须填写")
    @Pattern(regexp = "^[1]([3-9])[0-9]{9}$", message = "手机号格式不正确")
    private String phone;

    @NotEmpty(message = "验证码必须填写")
    private String code;
}

@Validated 表示需要校验
BindingResult result 获取校验结果


@PostMapping("/regist")
    public String register(@Validated @RequestBody UserRegisterVo vo,
                           BindingResult result,
                           RedirectAttributes redirectAttributes) {
            if (result.hasErrors()) {
            Map<String, String> errors = result.getFieldErrors().stream().collect(Collectors.toMap(fieldError -> {
                return fieldError.getField();
            }, fieldError -> {
                return fieldError.getDefaultMessage();
            }));
//            model.addAttribute("errors", errors);
            redirectAttributes.addFlashAttribute("errors", errors);
            //转发地址栏没有变化;重定向地址栏有变化
            //校验出错,重定向到注册页
            return "redirect:http://auth.mall.com/reg.html";
        }
 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值