最近在练习一个SSM的小项目,在用户注册模块需要用到表单数据校验的功能。
为什么要在后端实现数据校验
在传统做法中,数据校验可以在前端直接用js来实现,但是这样只用前端实现,用户可以绕过浏览器,直接使用一些http工具向后端提交不合法的数据,所以为了安全,一般也会在后端的controller层SpringMVC实现数据校验的功能。
实现步骤如下:
1、导包:
如果是maven工程可以直接导入依赖,因为我这个是纯SSM的练习项目,所以是导入lib包。数据校验需要依赖这3个jar包。
hibernate-validator-5.2.2.Final.jar
jboss-logging-3.1.0.CR2.jar
validation-api-1.1.0.Final.jar
2、在SpringMVC的配置文件注入校验器
<bean id="validator"
class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
<!-- hibernate校验器 -->
<property name="providerClass" value="org.hibernate.validator.HibernateValidator" />
<!-- 指定校验使用的资源文件,在文件中配置校验错误信息,如果不指定则默认使用classpath下的ValidationMessages.properties -->
<property name="validationMessageSource" ref="messageSource" />
</