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的更多相关文章

  1. Springboot采用hibernate-validate验证请求参数

    在springboot项目使用hibernate-validate对请求参数添加注解进行校验 常用注解 @Null,标注的属性值必须为空 @NotNull,标注的属性值不能为空 @AssertTrue ...

  2. Hibernate-validate工具类,手动调用校验返回结果

    引言:在常见的工程中,一般是在Controller中校验入参,校验入参的方式有多种,这里介绍的使用hibernate-validate来验证,其中分为手动和自动校验,自动校验可以联合spring,使用 ...

  3. 在springmvc中使用hibernate-validate

    在springmvc.xml中加入 <!-- 国际化配置 --> <bean id="localeResolver" class="org.spring ...

  4. 巩固一下:SpringMVC详细示例实战教程

    一.SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包. 2.添加Web.xml配置文件中关于SpringMVC的配置 1 2 3 4 5 6 ...

  5. [转]史上最全最强SpringMVC详细示例实战教程

    原文:http://www.cnblogs.com/sunniest/p/4555801.html?utm_source=tuicool&utm_medium=referral SpringM ...

  6. 史上最全最强SpringMVC详细示例实战教程

    一.SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包. 2.添加Web.xml配置文件中关于SpringMVC的配置 1 2 3 4 5 6 ...

  7. SpringMVC基础入门

    一.SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包. 2.添加Web.xml配置文件中关于SpringMVC的配置 1 2 3 4 5 6 ...

  8. SpringMVC详细示例实战教程

    一.SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包. 2.添加Web.xml配置文件中关于SpringMVC的配置 1 2 3 4 5 6 ...

  9. 史上最全的SpringMVC学习笔记

    SpringMVC学习笔记---- 一.SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包. 2.添加Web.xml配置文件中关于Spring ...

随机推荐

  1. Velocity模板引擎语法

    Velocity 模板引擎介绍 Velocity是一个基于java的模板引擎(template engine).它允许任何人仅仅简单的使用模板语言(template language)来引用由java ...

  2. 循环调用MAIN

    --单位转移录入declare oi_errcode integer; oc_errtext varchar2(100);begin for p in (select * from ssunitinf ...

  3. NA

    0000-00001000-0000 1111-1111 1*2^7=1281*2^6=641*2^5=321*2^4=161*2^3=81*2^2=41*2^1=21*2^0=1 0000-0010 ...

  4. webservice调用服务端数据时给soapenv:Envelope 添加自定义的命名空间

    最近做第三方接口,服务端需要 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/&qu ...

  5. 认真分析mmap:是什么 为什么 怎么用【转】

    转自:http://www.cnblogs.com/huxiao-tee/p/4660352.html?utm_source=tuicool&utm_medium=referral 阅读目录 ...

  6. MVC系列1-MVC基础

    终于决定写一个系列的文章了,最开始其实是准备写一下WPF的,因为我这两年一直在做WPF,对WPF的喜爱自然是无以言表.但是由于我所在的地区对WPF的普及不是很广泛,所以,被迫又开始做起来web,但是我 ...

  7. LeetCode----202. Happy Number(Java)

    package isHappy202; /* * Write an algorithm to determine if a number is "happy". A happy n ...

  8. Sql Server2005新特性及性能

    举几个例子来简单说明 这些例子我引用了Northwind库. 1. TOP 表达式 SQL Server 2000的TOP是个固定值,是不是觉得不爽,现在改进了. --前n名的订单declare @n ...

  9. ie11媒体查询以及其他hack

    <!doctype html> <html> <head> <title>IE10/11 Media Query Test</title> ...

  10. asp.net 微信支付 错误解决方案

    asp.net 微信支付 错误解决方案 在网上看到有人解决方案为: 解决方法 出现这种错误网上查出现有的原因是: 订阅号没有相关的权限 账号没有认证,没有相关的权限 那么这里遇到问题两种都不是.开发账 ...