CXYVIP官网源码交易平台_网站源码_商城源码_小程序源码平台-丞旭猿论坛
CXYVIP官网源码交易平台_网站源码_商城源码_小程序源码平台-丞旭猿论坛
CXYVIP官网源码交易平台_网站源码_商城源码_小程序源码平台-丞旭猿论坛

SpringMVC数据校验-永久免费的源码丞旭猿

一般情况下,用户的输入是随意的,为了保证数据的合法性,数据验证是所有 Web 应用必须处理的问题。

Spring MVC 有以下两种方法可以验证输入:

利用 Spring 自带的验证框架

利用 JSR 303 实现

数据验证分为客户端验证和服务器端验证,客户端验证主要是过滤正常用户的误操作,通过 JavaScript 代码完成。服务器端验证是整个应用阻止非法数据的最后防线,通过在应用中编程实现。

本节使用 JSR 303 实现服务器端的数据验证。

JSR 303 是 Java 为 Bean 数据合法性校验所提供的标准框架。JSR 303 通过在 Bean 属性上标注类似于 @NotNull、@Max 等标准的注解指定校验规则,并通过标准的验证接口对 Bean 进行验证。可以通过 https://jcp.org/en/jsr/detail?id=303 查看详细内容并下载 JSR 303 Bean Validation。

JSR 303 不需要编写验证器,它定义了一套可标注在成员变量、属性方法上的校验注解,如下表所示。

名称

说明

@Null

被标注的元素必须为 null

@NotNull

被标注的元素必须不为 null

@AssertTrue

被标注的元素必须为 true

@AssertFalse

被标注的元素必须为 false

@Min(value)

被标注的元素必须是一个数字,其值必须大于等于指定的最小值

@Max(value)

被标注的元素必须是一个数字,其值必须小于等于指定的最大值

@DecimalMax(value)

被标注的元素必须是一个数字,其值必须大于等于指定的最大值

@DecimalMin(value)

被标注的元素必须是一个数字,其值必须小于等于指定的最小值

@size

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

@Digits(integer,fraction)

被标注的元素必须是一个数字,其值必须在可接受的范围内;integer 指定整数精度,fraction 指定小数精度

@Past

被标注的元素必须是一个过去的日期

@Future

被标注的元素必须是一个将来的日期

@Pattern(value)

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

Spring MVC 支持 JSR 303 标准的校验框架,Spring 的 DataBinder 在进行数据绑定时,可同时调用校验框架来完成数据校验工作,非常简单方便。在 Spring MVC 中,可以直接通过注解驱动的方式来进行数据校验。

Spring 本身没有提供 JSR 303 的实现,Hibernate Validator 实现了 JSR 303.所以必须在项目中加入来自 Hibernate Validator 库的 jar 文件,下载地址为 http://hibernate.org/validator/。本节使用版本为 hibernate-validator-5.1.0.Final-dist.zip,复制其中的 3 个 jar 文件即可,Spring 将会自动加载并装配。

hibernate-validator-5.1.0.Final.jar

jboss-logging-3.1.0.CR2.jar

validation-api-1.0.0.GA.jar

开课吧广场-人才学习交流平台

声明:本文部分素材转载自互联网,如有侵权立即删除 。

© 版权声明
THE END
喜欢就支持一下吧
点赞0赞赏 分享
相关推荐
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容