Springboot项目javax.validation使用方法详解

网友投稿 780 2023-06-08

Springboot项目javax.validation使用方法详解

Springboot项目javax.validation使用方法详解

javax.validation 是基于jsR-303标准开发出来的,使用注解方式实现,及其方便,但是这只是一个接口,没有具体实现。

Hibernate-Validator是一个hibernate独立的包,可以直接引用,他实现了javax.validation同时有做了扩展,比较强大。SpringBoot在内部集成了hibernate-validation,可以直接使用。

常用注解:

代码

说明

@Null

被注解的元素必须为null

@NotNull

被注解的元素必须不为null

@AssertTrue

被注解的元素必须为true

@AssertFalse

被注解的元素必须为false

@Min(value)

被注解的元素必须为数字,其值必须大于等于最小值

@Max(value)

被注解的元素必须为数字,其值必须小于等于最小值

@Size(max,min)

被注解的元素的大小必须在指定范围内

@Past

被注解的元素必须为过去的一个时间

@Future

被注解的元素必须为未来的一个时间

@Pattern

被注解的元素必须符合指定的正则表达式

http://

bean

package me.yanand.pojo;

import javax.validation.constraints.Max;

import javax.validation.constraints.NotBlank;

import javax.validation.constraints.NotNull;

public class User {

@NotBlank(message = "姓名不能为空")

private String name;

@NotNull(message = "年龄不能为空")

@Max(value = 100,message = "年龄太大")

private Integer age;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public Integer getAge() {

return age;

}

public void setAge(Integer age) {

this.age = age;

}

controller

package me.yanand.controller;

import me.yanand.pojo.User;

import org.springframework.validation.BindingResult;

import org.springframework.web.bind.annotation.RequestBody;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RestController;

import javax.validation.Valid;

@RestController

public class TestController {

@RequestMapping("/")

String hello(@RequestBody @Valid User user, BindingResult bindingResult){

if(bindingResult.hasErrors()){

return bindingResult.getFieldError().getDefaultMessage();

}

return "ok";

}

}

postman请求

@Valid 和 BindingResult 是一一对应的,如果有多个@Valid,那么每个@Valid后面跟着的BindingResult就是这个@Valid的验证结果,顺序不能乱

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Jmeter JDBC请求常见问题解决方案
下一篇:Java8通过Function获取字段名的步骤
相关文章

 发表评论

暂时没有评论,来抢沙发吧~