您当前的位置: 首页 >  hibernate

梁云亮

暂无认证

  • 3浏览

    0关注

    1211博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

ssm整合hibernate-validator

梁云亮 发布时间:2022-05-12 15:48:21 ,浏览量:3

有关hibernate-validator的语法请参考:hibernate-validator 校验规则详解

第一步:添加maven依赖

    org.hibernate.validator
    hibernate-validator
    6.2.3.Final

第二步:在applicationContext.xml中添加配置


    

第三步:实体类中添加检验
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@ToString
public class Province {
    /**
     * 编号
     */
    private Integer id;

    /**
     * 省名
     */
    @NotBlank(message = "省名不能为空")
    private String name;

    /**
     * 所属地区
     */
    @NotBlank(message = "大区不能为空")
    private String area;

    /**
     * 显示优先级
     */
    @Range(min=0,max=255,message="优先级不能为空,且值需要在[0,255]")
    private Integer priority;

    /**
     * 状态:1正常 0 删除
     */
    private Byte status;
}

第四步:Controller中使用
@Controller
@RequestMapping("/province")
public class ProvinceController {
    @Resource
    private ProvinceService provinceService;

    @PostMapping("/add")
    public String add(@Valid Province province, BindingResult result) {
        if(result.hasErrors()){
            //如果没有通过,跳转提示
            Map map = getErrors(result);
            //TODO 将错误以特定(比如,JSON)的格式传递给用户
            return "";
        }else {
            province.setStatus((byte) 1);
            provinceService.add(province);
            //重定向到列表页面
            return "redirect:/province/list";
        }
    }

    private Map getErrors(BindingResult result) {
        Map map = new HashMap();
        List list = result.getFieldErrors();
        for (FieldError error : list) {
            map.put(error.getField(), error.getDefaultMessage());
        }
        return map;
    }

}
关注
打赏
1665409997
查看更多评论
立即登录/注册

微信扫码登录

0.0394s