SpringBoot-表单验证

SpringBoot-表单验证

需求:添加一个女生,在提交表单时,年龄必须大于18

1.需要在对象的实体中加入注解@Min
2.需要在controller对应的方法的参数中加入@Valid注解,标明要验证的对象
3.验证的结果会返回到BindingResult对象中

例:

GirlController:

@RestController
public class GirlController {

    @Autowired
    private GirlRepository girlRepository;

    @Autowired
    private GirlService girlService;

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

}

Girl:

@Entity //该注解表示该类在数据库中有对应的表 不用创建该表
public class Girl {

    @Id
    @GeneratedValue
    private Integer id;

    private String cupSize;

    /**
     * 给年龄加上限制:年龄必须大于18岁
     * value:值
     * message:提示信息
     */
    @Min(value =18,message = "年龄必须大于18岁")
    private Integer age;

    public Girl() {
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getCupSize() {
        return cupSize;
    }

    public void setCupSize(String cupSize) {
        this.cupSize = cupSize;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }
}

GirlRepository:

public interface GirlRepository extends JpaRepository<Girl,Integer> {
    /**JpaRepository<>
     * 第一个参数:类名
     * 第二个参数:id的类型
     */

    //通过年龄来查询
    public List<Girl> findByAge(Integer age);


}

GirlApplication:

@SpringBootApplication
public class GirlApplication {

    public static void main(String[] args) {
        SpringApplication.run(GirlApplication.class, args);
    }
}

application.yml:

spring:
  profiles:
    active: prod
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/dbgirl
    username: root
    password: 123456
  jpa:
    hibernate:
      ddl-auto: create
    show-sql: true
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值