hibernateValidate
1.创建主页面
<form action="${pageContext.request.contextPath }/first.do" method="post">
<h1>数据验证</h1>
姓名:<input name="username"/>${nameErrormsg }<br/><br/>
成绩:<input name="score" />${scoreErrormsg }<br/><br/>
电话:<input name="phone" />${phoneErrormsg }<br/><br/>
<input type="submit" value="注册"/>
</form>
2.配置实体类
public class UserInfo {
@NotEmpty(message="用户名不能为空")
@Size(min=3,max=6,message="姓名长度应在{min}-{max}个字符")
private String username;
@Min(value=0,message="成绩不能小于{value}")
@Max(value=100,message="成绩不能大于{value}")
private Integer score;
@NotEmpty(message="手机号码不允许为空")
@Pattern(regexp="^1[34578]\\d{9}$",message="手机号码格式不正确")
private String phone;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public Integer getScore() {
return score;
}
public void setScore(Integer score) {
this.score = score;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
}
3.配置控制器
@Controller
public class MyController {
// 处理器方法
@RequestMapping(value = "/first.do")
public ModelAndView doFirst(@Validated UserInfo info, BindingResult br) { ModelAndView mv = new ModelAndView();
mv.addObject("info", info);
mv.setViewName("/welcome.jsp"); int errorCount = br.getErrorCount(); if (errorCount > 0) { FieldError nameError = br.getFieldError("username");
FieldError scoreError = br.getFieldError("score");
FieldError phoneError = br.getFieldError("phone"); if (nameError != null) {
String nameErrormsg = nameError.getDefaultMessage();
mv.addObject("nameErrormsg", nameErrormsg);
}
if (scoreError != null) {
String scoreErrormsg = scoreError.getDefaultMessage();
mv.addObject("scoreErrormsg", scoreErrormsg);
}
if (phoneError != null) {
String phoneErrormsg = phoneError.getDefaultMessage();
mv.addObject("phoneErrormsg", phoneErrormsg);
} mv.setViewName("/index.jsp");
}
return mv;
} }
4.配置applicationContext.xml
<!-- 包扫描器 -->
<context:component-scan base-package="cn.happy.controller"></context:component-scan> <!-- 生成器验证器 -->
<bean id="myValidator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
<property name="providerClass" value="org.hibernate.validator.HibernateValidator"></property>
</bean> <!-- 注解mvc注解驱动 -->
<mvc:annotation-driven validator="myValidator"/>
5.效果图

hibernateValidate的更多相关文章
- Springboot采用hibernate-validate验证请求参数
在springboot项目使用hibernate-validate对请求参数添加注解进行校验 常用注解 @Null,标注的属性值必须为空 @NotNull,标注的属性值不能为空 @AssertTrue ...
- Hibernate-validate工具类,手动调用校验返回结果
引言:在常见的工程中,一般是在Controller中校验入参,校验入参的方式有多种,这里介绍的使用hibernate-validate来验证,其中分为手动和自动校验,自动校验可以联合spring,使用 ...
- 在springmvc中使用hibernate-validate
在springmvc.xml中加入 <!-- 国际化配置 --> <bean id="localeResolver" class="org.spring ...
- 巩固一下:SpringMVC详细示例实战教程
一.SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包. 2.添加Web.xml配置文件中关于SpringMVC的配置 1 2 3 4 5 6 ...
- [转]史上最全最强SpringMVC详细示例实战教程
原文:http://www.cnblogs.com/sunniest/p/4555801.html?utm_source=tuicool&utm_medium=referral SpringM ...
- 史上最全最强SpringMVC详细示例实战教程
一.SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包. 2.添加Web.xml配置文件中关于SpringMVC的配置 1 2 3 4 5 6 ...
- SpringMVC基础入门
一.SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包. 2.添加Web.xml配置文件中关于SpringMVC的配置 1 2 3 4 5 6 ...
- SpringMVC详细示例实战教程
一.SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包. 2.添加Web.xml配置文件中关于SpringMVC的配置 1 2 3 4 5 6 ...
- 史上最全的SpringMVC学习笔记
SpringMVC学习笔记---- 一.SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包. 2.添加Web.xml配置文件中关于Spring ...
随机推荐
- 重启redis报错:Waiting for Redis to shutdown
重启redis,发现一直报:Waiting for Redis to shutdown service redis_6379 restart Stopping ... OK (error) NOAUT ...
- Zabbix通过percona监控MySQL
因为Zabbix自带的MySQL监控没有提供可以直接使用的Key,所以一般不采用,业界的同学们都使用Percona Monitoring Plugins 监控 MySQL的方式 Percona介绍 P ...
- C++函数模板template
一. 问题: 强类型语言要求我们为所有希望比较的类型都实现一个实例 int min(int a, int b) { return a < b ? a : b; } double min(dou ...
- VM arguments
VM arguments -Xms256M -Xmx512M -XX:PermSize=256m -XX:MaxPermSize=512m
- 初识Python第二天(1)
在Python中,一切事物都是对象,对象是基于类创建的,对象继承了类的属性,方法等. 一.传递参数 1.1新建python文件,名为twoday_args.py,输出以下代码 import sys p ...
- iOS 开发笔记-AFNetWorking https SSL认证
一般来讲如果app用了web service , 我们需要防止数据嗅探来保证数据安全.通常的做法是用ssl来连接以防止数据抓包和嗅探 其实这么做的话还是不够的 . 我们还需要防止中间人攻击(不明白的自 ...
- Mysql常用数据类型
Mysql常用数据类型 数字: 字符串: 时间:
- Python数据分析之numpy学习
Python模块中的numpy,这是一个处理数组的强大模块,而该模块也是其他数据分析模块(如pandas和scipy)的核心. 接下面将从这5个方面来介绍numpy模块的内容: 1)数组的创建 2)有 ...
- [问题2014S13] 复旦高等代数II(13级)每周一题(第十三教学周)
[问题2014S13] (1) 设 \(A\) 是数域 \(\mathbb{K}\) 上的 \(n\) 阶非异阵, 若存在主对角元全为 \(1\) 的下三角阵 \(L\in M_n(\mathbb ...
- DataGridView单元格美化
#region 重绘Column.Row int _RowHeadWidth = 41; /// /// 重绘Column.Row ...