spring mvc 数据校验(bean实体注解实现)
spring mvc 数据校验
1.添加个jar (jar与一版本会冲突)
<dependency>
<groupId>com.fasterxml</groupId>
<artifactId>classmate</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>org.jboss.logging</groupId>
<artifactId>jboss-logging</artifactId>
<version>3.3.0.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>5.4.1.Final</version>
</dependency>
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.1.0.Final</version>
</dependency>
2.配置springmvc.xml
<!-- 配置springMVC数据校验 -->
<mvc:annotation-driven validator="validator"/>
<bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
<property name="providerClass" value="org.hibernate.validator.HibernateValidator"></property>
</bean>
3.测试,注解用法,(@Valid,BindingResult,@pattern regexp) (课时3:29分)
@RequestMapping(value = "/login", method = RequestMethod.POST)
@ResponseBody
public ResultMessage login(@Valid Login login,BindingResult errorResult){
boolean flag= errorResult.hasErrors();
String sb = "";
if(flag) {
List<FieldError> errorList = errorResult.getFieldErrors();
for(FieldError fieldError: errorList) {
//String field = fieldError.getField();
String fieldErrorMessage=fieldError.getDefaultMessage();
sb=fieldErrorMessage+",";
}
return Utils.renderResultMessageError(sb);
}
@Valid Bean
BindingResult errorResult
/**
* @Eamil(message="对不起邮箱输入有误")
* @Pattern(regexp="[\\u4e00-\\u9fa5]{4,10}",message="名称必须是4-10位的汉字")
* @Max(value=100,message="")
* @Min(value=1,message="")
*/
/**
* 登录名
*/
@NotNull(message="不能为Null")
@NotBlank(message="不能为空格")
@NotEmpty(message="不能为空")
@Pattern(regexp="[\\w{2,10}]",message="输入的登录名有误2-10位,请重新输入")
private String loginId;
/**
* 密码
*/
@NotNull(message="不能为Null")
@NotBlank(message="不能为空格")
@NotEmpty(message="不能为空")
@Pattern(regexp="[\\w{3,6}]",message="密码必须为3-6数字或字母或下划线的组合")
private String pass;
相关文章
- 《Spring 5 官方文档》5. 验证、数据绑定和类型转换(一)
- Spring Boot(-)Spring Boot 是如何通过jar包启动的
- Spring解决循环依赖
- spring batch(二):核心部分(1):配置Spring batch
- Spring Boot 2.x基础教程:使用LDAP来管理用户与组织数据
- Spring Boot 2.5.0 重新设计的spring.sql.init 配置有啥用?
- Spring Boot 2.x基础教程:配置元数据的应用
- Spring Cloud Alibaba基础教程:Nacos的数据持久化
- Spring Boot RabbitMQ 应用场景
- Spring MVC 学习笔记 spring mvc Schema-based configuration
- 【Spring常见错误】Initialization failed for ‘https://start.spring.io‘
- spring aop无法拦截类内部的方法调用
- Spring MVC利用Hibernate Validator实现后端数据校验
- 【转】Spring学习---为什么要用spring,springMVC
- Spring学习---Spring中利用jackson进行JSON转换
- Spring MVC 之返回数据(静态页面、非静态页面、JSON对象、请求转发与请求重定向)
- 曹工杂谈:Linux服务器上,Spring Boot 原地修改 jar 包配置文件/替换class文件,免去重复上传的麻烦
- Spring面向切面编程(AOP)