SpringBoot--JSR303验证传入参数
转自:http://blog.csdn.net/onroad0612/article/details/72518467
package com.liutao.utilitys;
import org.springframework.http.HttpStatus;
import org.springframework.validation.BindingResult;
import org.springframework.validation.ObjectError;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
* 参数验证工具类
*
* @author LIUTAO
* @version 2017/5/19
* @see
* @since
*/
public class ValidateUtility {
/**
* 判断是否有验证错误信息
* @param result
* @return
*/
public static String judgeValidate(BindingResult result, HttpServletResponse response) {
if(result.hasErrors()){
List<ObjectError> list = result.getAllErrors();
StringBuilder stringBuilder = new StringBuilder();
for(ObjectError error:list){
stringBuilder.append("\n"+error.getDefaultMessage());
}
response.setStatus(HttpStatus.BAD_REQUEST.value());
return stringBuilder.toString();
}
return "ok";
}
}
一、常用的校验注解
(1)常用标签@Null 被注释的元素必须为null
@NotNull 被注释的元素不能为null
@AssertTrue 被注释的元素必须为true
@AssertFalse 被注释的元素必须为false
@Min(value) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@Max(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值
@DecimalMin(value) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@DecimalMax(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值
@Size(max,min) 被注释的元素的大小必须在指定的范围内。
@Digits(integer,fraction) 被注释的元素必须是一个数字,其值必须在可接受的范围内
@Past 被注释的元素必须是一个过去的日期
@Future 被注释的元素必须是一个将来的日期
@Pattern(value) 被注释的元素必须符合指定的正则表达式。
@Email 被注释的元素必须是电子邮件地址
@Length 被注释的字符串的大小必须在指定的范围内
@NotEmpty 被注释的字符串必须非空
@Range 被注释的元素必须在合适的范围内
(2)示例