News:三分天注定,七分靠打拼,爱拼才会赢!致力打造专业IT博客。如果你对本博客有任何意见或建议请联系作者,邮箱:blog@mymail.com.cn

使用 SpringMVC 校验框架

逝水无痕 694 0 条

从 Spring 3.0 开始,在 Spring MVC 中提供了对 Java 校验 API 的支持。在 Spring MVC 中要使用 Java 校验 API 的话,并不需要额外的配置,只要保证在类路径下包含这个 Java API 的实现即可,比如 Hibernate Validator。

springmvc.jpg

Java 校验 API 定义了多个注解,这些注解可以放到属性上,从而限制这些属性的值。所有的注解都位于 javax.validation.constraints 包中。

注解描述
@AssertFalse所注解的元素必须是 Boolean 类型,并且为 false
@AssertTrue所注解的元素必须是 Boolean 类型,并且为 true
@DecimalMax所注解的元素必须是数字,并且他的值要小于或等于给定的 BigdecimalString 值
@DecimalMin所注解的元素必须是数字,并且它的值要大于或等于给定的 BigdecimalString 值
@Digits所注解的元素必须是数字,并且它的值必须有指定的位数
@Future所注解的元素的值必须是一个将来的日期
@Max所注解的元素必须是数字,并且它的值要小于或等于给定的值
@Min所注解的元素必须是数字,并且它的值要大于或等于给定的值
@NotNull所注解元素的值必须不能为 null
@Null所注解元素的值必须为 null
@Past所注解元素的值必须是一个已过去的日期
@Pattern所注解的元素的值必须匹配给定的正则表达式
@Size所注解的元素的值必须是 String、集合或数组,并且它的长度要符合给定的范围

除了上述表中的注解,Java 校验 API 的实现可能还会提供额外的校验注解。同时,也可以定义自己的限制条件。

在 Spring MVC 要使校验生效,需要使用 @Valid 注解并结合 Errors 对象参数,Errors 参数要紧跟在带有 @Valid 注解的参数后面,@Valid 注解所标注的就是要校验的参数。使用 Errors.hasErrors() 来检查是否有错误。

@PostMapping("/process-reg)
public String processReg(@Valid Member member, Errors errors) {
    if (errors.hasErrors()) {
            // 返回错误
    }
    // 处理正常业务...
}
发表我的评论
icon_mrgreen.gificon_neutral.gificon_twisted.gificon_arrow.gificon_eek.gificon_smile.gificon_confused.gificon_cool.gificon_evil.gificon_biggrin.gificon_idea.gificon_redface.gificon_razz.gificon_rolleyes.gificon_wink.gificon_cry.gificon_surprised.gificon_lol.gificon_mad.gificon_sad.gificon_exclaim.gificon_question.gif

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址