hibernate通过注解检验前端传来的dto

  • Post author:
  • Post category:其他


import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.NotBlank;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
首先在前端传来的dto前加注解 @Validated 
@RequestBody @Validated TdxzfDto dto
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.NotEmpty;
import javax.validation.constraints.NotNull;

在dto需要检验的的字段加入校验规则

@NotBlank(message = "缴费人类型不能为空")
private String payertype;
@NotBlank(message = "行政区划不能为空")
@Length(min = 6, max = 6, message = "行政区划长度有误,请检查")
private String admindivcode;
@NotNull(message = "约定各期缴费截止日期不能为空")
@DateTimeFormat
private Date sdrq;
@NotNull
@Min(value = 0,message = "缴纳金额不能小于0")
private BigDecimal je;
@Pattern(regexp = "^((\\s{0})|([12]))$",message = "性别长度异常")
private String xb;

最后再异常拦截器中加入对相关异常的拦截

if (ex instanceof MethodArgumentNotValidException) {
    String defaultMessage = ((MethodArgumentNotValidException) ex).getBindingResult().getFieldError().getDefaultMessage();
    com.datanew.dto.unalterable.$Result fail = com.datanew.dto.unalterable.$Result.fail(defaultMessage);
    printWrite(JSONObject.toJSONString(fail, SerializerFeature.WriteMapNullValue), response);
    return new ModelAndView();
}



版权声明:本文为leese233原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。