hibernate validate初步理解
表单提交的时候(或者不同业务层)往往需要进行很多数据验证,使用硬编码
方式进行验证的化业务代码会变得很乱。hibernate validate通过实体上注解方式
验证,业务代码会干净很多。
入门
配置文件:
<mvc:annotation-driven validator="validator"/>
<!-- 注入Hibernate验证器 -->
<bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
<property name="providerClass" value="org.hibernate.validator.HibernateValidator"/>
</bean>
model文件:
public class Test
{
@NotEmpty(message = "该字段不能为空")
@NotNull(message = "该字段不能为空")
private String name;
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
}
controller文件:
@ResponseBody
@RequestMapping(value="/test", method = RequestMethod.POST)
public SimpleResponse test(@RequestBody @Valid Test test, BindingResult result)
{
if(result.hasErrors())
{
return new SimpleResponse(result.getAllErrors().get(0).getDefaultMessage());
}
return new SimpleResponse();
}