springmvc服务端校验hibernate validation配置
来源:互联网 发布:最好的网络营销软件 编辑:程序博客网 时间:2024/05/16 06:50
springmvc服务端校验hibernate validation的配置
步骤如下:
hibernate-validator-4.3.0.Final.jar
jboss-logging-3.1.0.CR2.jar
validation-api-1.0.0.GA.jar
1.在src目录下创建CustomValidationMessages.properties文件(错误描述信息)
2.在pojo中写po中类的属性中写注解,我也就我们的限制条件
class User{
@Size(min=1,max=10,message="{CustomValidationMessages文件中的key字符串}")
private String username;
}
@Size(min=1,max=10)表示这个属性的值长度位1到10
message 中填写的是CustomValidationMessages文件中的key值
注意:message需指定,否则校验失败没有提示信息
3.在Controller的类中的添加注解,已UserController为例子
class UserController{
....
public String save(@Validated User user,BindingResult br){
if(br.hasErrors()){
//如果有错误就会进来
List ls = bindingResult.getAllErrors();
model.addAttribute("error", ls);
return "login";
}
//其他代码
}
}
@Validated User user,BindingResult br
写法固定@Validated Pojo pojo,BindingResult br
ls.get(0).getDefaultMessage()为错误信息
下面写法固定,只需变动的是指定properties文件
<!-- 注解驱动 -->
<mvc:annotation-driven conversion-service="conversionService" validator="validator"/>
<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" />
</bean>
<!-- 校验错误信息配置文件 -->
<bean id="messageSource"
class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<!-- 资源文件名-->
<property name="basenames">
<list>
<value>classpath:CustomValidationMessages</value>
</list>
</property>
<!-- 资源文件编码格式 -->
<property name="fileEncodings" value="utf-8" />
<!-- 对资源文件内容缓存时间,单位秒 -->
<property name="cacheSeconds" value="120" />
</bean>
注解说明:
@AssertTrue //用于boolean字段,该字段只能为true
@AssertFalse//该字段的值只能为false
@CreditCardNumber//对信用卡号进行一个大致的验证
@DecimalMax//只能小于或等于该值
@DecimalMin//只能大于或等于该值
@Digits(integer=2,fraction=20)//检查是否是一种数字的整数、分数,小数位数的数字。
@Email//检查是否是一个有效的email地址
@Future//检查该字段的日期是否是属于将来的日期
@Length(min=,max=)//检查所属的字段的长度是否在min和max之间,只能用于字符串
@Max//该字段的值只能小于或等于该值
@Min//该字段的值只能大于或等于该值
@NotNull//不能为null
@NotBlank//不能为空,检查时会将空格忽略
@NotEmpty//不能为空,这里的空是指空字符串
@Null//检查该字段为空
@Past//检查该字段的日期是在过去
@Size(min=, max=)//检查该字段的size是否在min和max之间,可以是字符串、数组、集合、Map等
@URL(protocol=,host,port)//检查是否是一个有效的URL,如果提供了protocol,host等,则该URL还需满足提供的条件
@Valid//该注解只要用于字段为一个包含其他对象的集合或map或数组的字段,或该字段直接为一个其他对象的引用,
//这样在检查当前对象的同时也会检查该字段所引用的对象
- springmvc服务端校验hibernate validation配置
- springmvc使用Hibernate的校验框架validation
- springmvc使用hibernate-validation校验器异常
- SpringMVC教程--Validation校验
- SpringMVC—Validation校验
- SpringMVC结合Validation api 和Hibernate validation进行校验不提示验证错误信息
- springmvc中服务端校验
- SpringMVC-服务端校验
- springmvc注解开发-validation校验
- springMVC中validation校验案例
- springmvc使用校验框架validation校验
- 【SpringMVC整合MyBatis】validation校验-分组校验
- springmvc注解开发-validation校验-分组校验
- springMvc入门配置Validation
- springmvc利用validation框架实现数据校验
- SpringMvc-Hibernate校验
- Hibernate validation 的使用. Bean 自动校验
- Hibernate validation 的使用. Bean 自动校验
- Spring框架入门介绍
- Samba文件共享配置
- 自定义 ToolBar 实现标题栏
- nginx proxy_buffer_size 解决后端服务传输数据过多,其实是header过大的问题
- (TrustCom 2015)基于Trustzone的智能手机双因子认证通用安全架构
- springmvc服务端校验hibernate validation配置
- Composer详细安装教程
- Linux加载DTS设备节点的过程(以高通8974平台为例)
- ubuntu安装DBI,DBD-MYSQL
- R语言中实现表的链接-merge函数
- JS展望之
- poj 3685 二分法(边界条件)
- 泛型的使用
- 【BZOJ1010】【HNOI2008】玩具装箱toy(dp+斜率优化)