Spring MVC中使用 hibernate-validtor进行服务端验证
来源:互联网 发布:c语言编程小程序 编辑:程序博客网 时间:2024/06/05 21:54
搭好Spring MVC的基本框架,并且可以成功运行起来
…此步骤省略
引入依赖包
<dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>5.4.1.Final</version></dependency>
在Spring MVC驱动配置中加上hibernate-validator
<!-- Enables the Spring MVC @Controller programming model --><mvc:annotation-driven validator="validator"></mvc:annotation-driven> <!-- 校验器 --><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
import org.hibernate.validator.constraints.Length;import org.hibernate.validator.constraints.NotEmpty;public class UserVO { @NotEmpty(message = "用户名不能为空") private String userName; @Length(min=3, max=15,message = "密码长度不对") private String userPassword; //setters and getters …}
在Controller中进行校验,并且返回绑定参数异常情况
import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.validation.BindingResult;import org.springframework.web.bind.annotation.ModelAttribute;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import top.yuyufeng.sample.web.vo.UserValidVO;import javax.validation.Valid;@Controllerpublic class LoginValidController { private static UserValidVO userValidVO = new UserValidVO(); /** * 跳转到登录界面 * * @return */ @RequestMapping(value = "/login-valid", method = RequestMethod.GET) public String toLogin(Model model) { model.addAttribute("userValidVO", userValidVO); //必须添加 不然Spring form标签会报错 return "login-valid"; } @RequestMapping(value = "/doValidLogin", method = RequestMethod.POST) public String userLogin(@Valid UserValidVO userValidVO, BindingResult br, Model model) { if (!br.hasErrors()) { model.addAttribute("loginValid", "success"); } return "login-valid"; }}
前端页面表单,和异常展示(使用http://www.springframework.org/tags/form标签)
<%-- Created by IntelliJ IDEA. User: yuyufeng Date: 2017/9/28 Time: 9:18 To change this template use File | Settings | File Templates.--%><%@ page contentType="text/html;charset=UTF-8" language="java" %><%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %><html><head> <title>login</title> <%@ include file="include/head.jsp" %> <style> .error-area { color: red; } </style></head><body><hr/><%--Spring form 表单--%><form:form id="my-form" method="post" modelAttribute="userValidVO" action="/doValidLogin"> 用户登录 <table> <tr> <td><form:label path="userName">用户名:</form:label></td> <td><form:input path="userName"/></td> <td><form:errors path="userName" cssClass="error-area"/></td> </tr> <tr> <td><form:label path="userPassword">密码:</form:label></td> <td><form:input path="userPassword"/></td> <td><form:errors path="userPassword" cssClass="error-area"/></td> </tr> <tr> <td> <button type="submit">立即登录</button> </td> <td> <button type="reset">重置</button> </td> </tr> <tr> <td><c:out value="${loginValid}"></c:out></td> </tr> </table></form:form></body></html>
摘录
Hibernate Validator 是 Bean Validation 的参考实现 。Hibernate Validator 提供了 JSR 303 规范中所有内置 constraint 的实现,除此之外还有一些附加的 constraint。
在日常开发中,Hibernate Validator经常用来验证bean的字段,基于注解,方便快捷高效。
1. Bean Validation 中内置的 constraint
- Hibernate Validator 附加的 constraint
阅读全文
0 0
- Spring MVC中使用 hibernate-validtor进行服务端验证
- spring mvc 结合Hibernate Validator进行服务器验证
- Spring mvc 中使用 kaptcha 验证码
- Spring mvc 中使用 kaptcha 验证码
- Spring mvc 中使用 kaptcha 验证码
- Spring mvc 中使用 kaptcha 验证码
- spring MVC中基于hibernate validator的form表单验证
- spring MVC中基于hibernate validator的form表单验证
- spring MVC中基于hibernate validator的form表单验证
- Spring中使用Validator进行数据验证
- Spring MVC使用InitBinder验证
- spring mvc中使用CommonsMultipartResolver进行文件上传
- Spring Mvc那点事---(40)SSM服务框架使用aop进行数据验证
- Spring mvc通过Spring security进行密码验证加盐
- Spring中使用hibernate
- Spring MVC中配置Kaptcha验证码
- spring mvc框架中创建验证码
- spring mvc 使用kaptcha生成验证码
- c语言中的static
- js 中 添加动态参数
- 如何提高Outlook 2013查收邮件的更新时间(转)
- include <> "" different
- 观察者模式与事件驱动模式实例比较
- Spring MVC中使用 hibernate-validtor进行服务端验证
- Easyui面板的left,top属性,设置当前面板的position
- shell脚本的日常使用
- Python计算文件中单词个数
- springBoot微服务框架pom.xml内容(支持jsp)
- CF 244 C. The Brand New Function 思维(二进制,区间或运算不同结果)
- 移植QT操作系统
- NOIP2011计算系数详解
- throws 和 try-catch的区别