SpringBoot(五)_表单验证

简介: SpringBoot(五)_表单验证参数校验在我们日常开发中非常常见,最基本的校验有判断属性是否为空、长度是否符合要求等,在传统的开发模式中需要写一堆的 if else 来处理这些逻辑,很繁琐,效率也低。

SpringBoot(五)_表单验证

参数校验在我们日常开发中非常常见,最基本的校验有判断属性是否为空、长度是否符合要求等,在传统的开发模式中需要写一堆的 if else 来处理这些逻辑,很繁琐,效率也低。使用 @Valid + BindingResult 就可以优雅地解决这些问题

(1)首先在实体类中增加注解

@Entity
public class Girl  {


    @Id
    @GeneratedValue
    private int id;

    @NotEmpty(message = "姓名不能为空")
    private String name;

    @Min(value = 18,message = "未成年禁止入内")
    private int age;

    public Girl() {
    }

(2) 在controller 中增加@Valid + BindingResult

    @PostMapping("/girls")
    public Girl girlAdd(@Valid Girl girl, BindingResult bindingResult){
        if(bindingResult.hasErrors()){
 
            System.out.println(bindingResult.getFieldError().getDefaultMessage());
            return  null;
        }
        return girlRepository.save(girl);
    }

(3) 测试结果

未成年禁止入内

结果显示均已经触发了校验规则,返回了错误信息,在实际使用过程中可以对错误信息进行包装,最后返回到前端进行展示。

学习不是要么0分,要么100分的。80分是收获;60分是收获;20分也是收获。有收获最重要。但是因为着眼于自己的不完美,最终放弃了,那就是彻底的0分了。
相关文章
|
15天前
|
XML Java 数据格式
Springboot中自定义组件
Springboot中自定义组件
|
5月前
|
Java
Springboot之Thymeleaf 表单提交
Springboot之Thymeleaf 表单提交
196 0
|
6月前
|
Java
15 SpringBoot模板引擎
15 SpringBoot模板引擎
29 0
|
10月前
|
移动开发 前端开发 JavaScript
【SpringBoot学习笔记 九】SpringBoot定制整合Thymeleaf及页面国际化
【SpringBoot学习笔记 九】SpringBoot定制整合Thymeleaf及页面国际化
61 0
|
10月前
|
前端开发 Java 开发者
【SpringBoot学习笔记 九】SpringBoot定制整合Thymeleaf及页面国际化(下)
【SpringBoot学习笔记 九】SpringBoot定制整合Thymeleaf及页面国际化(下)
105 0
|
10月前
|
Java API
《springboot实战》 第十二章 SpringBoot整合swagger-bootstrap-ui
《springboot实战》 第十二章 SpringBoot整合swagger-bootstrap-ui
68 0
|
Java Android开发
SpringBoot入门:SpringBoot整合Freemarker和Thymeleaf模板
关于springboot项目的创建可以看下面这篇文章,这里不进行叙述,可以参考之前的文章SpringBoot入门:使用IDEA和Eclipse构建第一个SpringBoot项目。
142 0
SpringBoot入门:SpringBoot整合Freemarker和Thymeleaf模板
|
Java
【SpringBoot】表单验证和使用AOP处理请求
【SpringBoot】表单验证和使用AOP处理请求
162 0
|
XML 移动开发 缓存
SpringBoot中使用Thymeleaf模板
SpringBoot中使用Thymeleaf模板
158 0
SpringBoot中使用Thymeleaf模板
|
前端开发 Java Maven
SpringBoot整合FreeMarker(十一)
SpringBoot整合FreeMarker(十一)
156 0
SpringBoot整合FreeMarker(十一)

热门文章

最新文章