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
开课吧广场-人才学习交流平台
声姿酷狗潘多拉mini音箱,语控无限制曾经打开音乐播放器会听到HelloKUGOU是一代人的回忆酷狗推出的潘多拉mini智能音箱,将AI与音箱的结合发挥到极致,深度贴合音乐爱好者使用的核心场景。别看这款音箱mini,品
思必驰,造声工场导航中的明星语音包难道是请明星在录音棚一句一句录制的吗?当然不是!试想导航中数不尽的地名,以及到达时间与路程距离等变量数据,要求真人录制是不现实的。当下被人们所熟知的语音包其实是应
影音娱乐思必驰DUI平台让智能终端多才多艺动动嘴便能指挥家中智能设备唱歌播片,极大地解放了双手,那语音指令与影音资源之间是如何触达的呢?实际上,思必驰DUI开放平台便是两者之间的鹊桥,它让千万台智能设备练就了多才多艺的技能
思必驰出席一带一路电子商务国际合作论坛,分享智能经验11月29日,由商务部国际贸易经济合作研究院与福建省莆田市人民政府共同主办的一带一路电子商务国际合作高峰论坛在莆田举行。全国政协经济委员会副主任房爱卿联合国贸发会议全球化司司长柯睿
国外这些年是如何规范自动驾驶的?8月27日,特斯拉在美国公布了最新申请的并行处理系统运行重新加载的专利,该专利可以有效地消除特斯拉自动驾驶系统Autopilot或全自动驾驶套件(FSD)可能出现的硬件故障。而在不
启蒙助教,思必驰DUI平台,用AI陪伴成长思必驰是国内领先的对话式AI平台型企业,DUI开放平台是思必驰AI语音能力的集成平台,集合了丰富的语音技能和内容资源,为形态功能各异的智能设备赋予不同的交互能力。针对AI儿童教育领
重磅深聪智能用芯携手美的集团,加速智能家居产业化布局2020年1月15日,思必驰旗下芯片企业深聪智能与美的集团在智能家居领域开启战略性的跨界合作,双方将发挥各自技术产品及资源优势,加速智能家居产业链上下游布局以及新产品的创新开发,促
电动汽车充电桩的分类和建设要求详解电动汽车充电桩其功能类似于加油站里面的加油机,可以固定在地面或墙壁,安装于公共建筑(公共楼宇商场公共停车场等)和居民小区停车场或充电站内,可以根据不同的电压等级为各种型号的电动汽车
8月新能源车增量占比54更多汽车资讯欢迎关注公众号亚洲新能源汽车网哔哥哔特导读9月8日,乘联会数据显示,今年18月同比增量188万辆中的新能源车增量达100万辆,占总增量54,对18月同比增速贡献了9个百
首款两座新能源!五菱官宣推出迪士尼限定款NanoEV9月26日消息,今日,五菱品牌宣布,旗下首款两座新能源车五菱NanoEV与迪士尼疯狂动物城IP联名合作,将推出五菱NanoEV迪士尼疯狂动物城限定款。据介绍,限定版将推出迪士尼疯狂
夜间行车必备(汽车红外夜视仪企业不完全盘点)尽管在夜间道路上的车辆较少,但是夜间发生交通事故比例却很高。在夜间,雾霾天气时,会影响到驾驶员的视线,就很容易发生交通事故。所以,汽车红外夜视仪就显得尤为重要。红外夜视仪系统通过接