springmvc校验表单
来源:互联网 发布:sql语法基础知识 编辑:程序博客网 时间:2024/06/02 04:27
1.因为是在maven项目下,需要引入如下三个包
<dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>5.3.5.Final</version> </dependency> <dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> <version>1.1.0.Final</version> </dependency> <dependency> <groupId>org.jboss.logging</groupId> <artifactId>jboss-logging</artifactId> <version>3.3.1.Final</version> </dependency>
2.springmvc的配置文件中,只需要写一句话
<mvc:annotation-driven/>
不需要再添加了。
3.Pojo中添加一些注解,比如@Past所选时间不能是将来的。
@Past @DateTimeFormat(pattern="yyyy-MM-dd") private Date becomeStudent; @NotNull private String username;
4.在控制层里的方法里要对加以判断的方法参数前面加上@Valid,而且方法里一定要有Error对象,那么它的子集BindingResult也是可以的:
@RequestMapping(value = "/add.do",method = RequestMethod.POST) public String add(@Valid Student student, BindingResult result,Model model, ModelMap modelMap){ if(result.getErrorCount()>0){ for(FieldError error : result.getFieldErrors()){ log.info(error.getField()+" "+error.getDefaultMessage() ); } } model.addAttribute(student); modelMap.put("stu",student); log.info(student.toString()); return "listStudent"; }
一定要写在@Valid后面,有几个待验证的参就出现几次BindResult.
JSR303的验证类型:
@Null 被注释的元素必须为 null@NotNull 被注释的元素必须不为 null@AssertTrue 被注释的元素必须为 true@AssertFalse 被注释的元素必须为 false@Min(value) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值@Max(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值@DecimalMin(value) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值@DecimalMax(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值@Size(max, min) 被注释的元素的大小必须在指定的范围内@Digits (integer, fraction) 被注释的元素必须是一个数字,其值必须在可接受的范围内@Past 被注释的元素必须是一个过去的日期@Future 被注释的元素必须是一个将来的日期@Pattern(value) 被注释的元素必须符合指定的正则表达式//-----------------下面是hibernate-valitor新增加的@Email 被注释的元素必须是电子邮箱地址@Length 被注释的字符串的大小必须在指定的范围内@NotEmpty 被注释的字符串的必须非空@Range 被注释的元素必须在合适的范围内
阅读全文
0 0
- springmvc校验表单
- 【转载】springMVC表单校验+全注解
- 表单校验
- 表单校验
- 表单校验
- 表单校验
- 表单校验
- 表单校验
- 表单校验
- 表单校验
- 表单校验
- 表单校验
- 表单校验
- 表单校验
- 表单校验
- 表单校验
- 表单校验
- 表单校验
- 自己写php框架启动类
- mysql事务处理
- 【转】addScalar的用法与作用
- 数据库_数据库原理、SQL(DDL、DML)
- ubuntu 16.04 安装 网易云
- springmvc校验表单
- [动态MST] [CDQ分治] BZOJ2001: [Hnoi2010]City 城市建设
- Java后端WebSocket的Tomcat实现
- HashMap 和 HashTable 到底哪不同 ?
- 二叉树的前序,中序,后序遍历(递归非递归实现)
- 字符串(2)
- MFC获取win10平板右键菜单消息
- PyDev+Eclipse win环境搭建
- iOS 正则表达式~详解 03 (实现代码)