提到服务器端验证,从最开始的STRUTS1开始就提供了,只要是MVC框架都提供了验证框架;直到最后开源框架直接促使JAVA推出新的JSR Bean Validation 1.0(JSR-303);
http://www.iteye.com/topic/1123007
SPRING MVC 使用Hibernate Validator作为该标准的默认实现;
相关准备工作:
1.使用JSR303相关的JAR包
<!-- JSR 303 with Hibernate Validator -->
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.0.0.GA</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>4.1.0.Final</version>
</dependency>
2. 在POJO上使用JSR303的相关注解:
package org.springframework.samples.mvc.form; import java.math.BigDecimal; import java.util.Date; import java.util.Map; import javax.validation.constraints.Min; import javax.validation.constraints.Past; import org.hibernate.validator.constraints.NotEmpty; import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.NumberFormat; import org.springframework.format.annotation.DateTimeFormat.ISO; import org.springframework.format.annotation.NumberFormat.Style; import org.springframework.samples.mvc.convert.MaskFormat; public class FormBean { @NotEmpty private String name; @Min(21) private int age; @DateTimeFormat(iso=ISO.DATE) @Past private Date birthDate; @MaskFormat("(###) ###-####") private String phone; @NumberFormat(pattern="$###,###.00") private BigDecimal currency; @NumberFormat(style=Style.PERCENT) private BigDecimal percent; private InquiryType inquiry; private String inquiryDetails; private boolean subscribeNewsletter; private Map<String, String> additionalInfo; } //get set方法在博文中省略
3.在controller中使用@Valid
@Valid
@RequestMapping(method = RequestMethod.POST) public String processSubmit(@Valid FormBean formBean, BindingResult result, @ModelAttribute("ajaxRequest") boolean ajaxRequest, Model model, RedirectAttributes redirectAttrs) { if (result.hasErrors()) { return null; } }
4.注意使用<mvc:annotation-driven> 后,不需要显式使用hibernate-validator
相关推荐
spring mvc服务端表单验证实例 能跑起来看效果 lib齐全 希望对您的学习有帮助
spring boot+spring mvc+spring整合开发**音乐**小程序(含简单服务端) 项目描述 spring boot+spring mvc+spring代理请求**音乐接口获取数据,然后提供给**小程序做显示 运行环境 jdk8+IntelliJ IDEA+maven ...
采用SpringBoot+Spring+Spring mvc+mybatis实现Flutter微校园APP的服务端程序_源码
当使用Spring MVC或Spring WebFlux框架的应用收到一个客户端请求,并用它来向另一个服务端发送multipart请求时,攻击者可利用该漏洞往里插入恶意内容。该漏洞的利用有一定的限制,要求攻击者能够猜到multipart字段的...
毕业设计管理系统java服务端,采用spring mvc
项目描述 spring boot+spring mvc+spring代理请求音乐接口获取数据,然后提供给微信小程序做显示 运行环境 jdk8+IntelliJ IDEA+maven 项目技术(必填) spring boot+spring mvc+spring
毕业设计管理系统java服务端,采用spring mvc
* 服务端验证: * 布局框架: * 工作流引擎: * 任务调度: * 持久层框架:JDBC * 数据库连接池:c3p0 * 缓存框架: * 日志管理:SLF4J 1.7.25、Log4j2.8.2 * 工具类:fasterxml 2.8.7、junit 4.12、
Maven+Spring MVC +Hibernate Validate(服务端验证) 增删改 ajax请求 文件上传
Spring+Spring MVC+Mybatis框架搭建,压缩包中有详细文档,表结构sql.前段采用jsp.请使用IDEA打开。
初学者很容易将 Spring MVC 拦截器 和 Spring Cloud OpenFeign 拦截器搞混,误以为OpenFeign拦截器就是SpringMVC拦截器:Spring MVC拦截器发生在客户端 和 服务端之间,在客户端向服务端发送请求时进行拦截处理。...
ftp服务端和客户端工具类,配置文件maven和web项目路径统一 1.1.0 soapui工具类(web版本) properties等工具类 1.1.1 工具类数据校验 jsp自定义标签 Spring自定义注解 默认requestMapping 1.1.2 代码生成器 1.1.3 ...
【Java毕业设计】毕业设计管理系统java服务端,采用spring mvc
技术选型:Spring Data JPA、Hibernate、 Spring MVC、Layer等。 项目结构: tianti-common:系统基础服务抽象,包括entity、dao和service的基础抽象; tianti-org:用户权限模块服务实现; tianti-module-...
之前的项目需要用到mina,实现的功能主要是:服务端主动发送消息到客户端,这个的服务端为外网的...当然,我这里的服务端是整合的了spring 的,也可以直接把服务端独立出来,不整合spring,这个都一样,区别不大。
本项目示例基于spring boot 最新版本(2.1.9)实现,Spring Boot、Spring Cloud 学习示例,将持续更新…… 在基于Spring Boot、Spring Cloud 分布微服务开发过程中,根据实际项目环境,需要选择、集成符合项目...
dubbo+springboot+mybatis+springmvc源码,亲...在springboot基础上搭建的dubbo服务,服务端支持mybatis,消费端支持springmvc,附使用步骤和测试用的表结构数据。借鉴了一下其它同学的,再加上自己的整理,亲测可用。
NULL 博文链接:https://wuyechun.iteye.com/blog/1840755