59. Spring Boot Validator校验

大纲:

(1) 入门例子;

(2) 国际化;

(3) 在代码中添加错误信息;

(1) 入门例子;

Validator主要是校验用户提交的数据的合理性的,比如是否为空了,密码长度是否大于6位,是否是纯数字的,等等。那么在spring boot怎么使用这么强大的校验框架呢。

在这里我们主要是使用注解进行学习。我们先说说我们的需求:

我们有一个demo.html,在页面上有两个元素姓名输入框,密码输入库,提交按钮。

提交到后台之后,使用Validator进行校验,然后如果存在错误,转发到demo.html,

我们先编写一个实体类接收用户的输入,以及使用Validator注解校验:

package com.kfit.demo;

importorg.hibernate.validator.constraints.Length;

import org.hibernate.validator.constraints.NotEmpty;

publicclass Demo {

privatelongid;

@NotEmpty(message="姓名不能为空")

private Stringname;

@NotEmpty(message="密码不能为空")

@Length(min=6,message="密码长度不能小于6位")

private Stringpassword;

publiclong getId() {

returnid;

}

publicvoid setId(longid) {

this.id =id;

}

public StringgetName() {

returnname;

}

publicvoid setName(Stringname) {

this.name =name;

}

public StringgetPassword() {

returnpassword;

}

publicvoidsetPassword(Stringpassword) {

this.password =password;

}

@Override

public StringtoString() {

return"Demo[id=" +id +", name=" +name +", password=" +password +"]";

}

}

这个实体类在属性上加入了注解@NotEmpty,@Length,那么常用的注解有:

约束注解名称 约束注解说明

@null 验证对象是否为空

@notnull 验证对象是否为非空

@asserttrue 验证 boolean 对象是否为 true

@assertfalse 验证 boolean 对象是否为 false

@min 验证 number和 string 对象是否大等于指定的值

@max 验证 number和 string 对象是否小等于指定的值

@decimalmin 验证 number和 string 对象是否大等于指定的值,小数存在精度

@decimalmax 验证 number和 string 对象是否小等于指定的值,小数存在精度

@size 验证对象(array,collection,map,string)长度是否在给定的范围之内

@digits 验证 number和 string 的构成是否合法

@past 验证 date和 calendar 对象是否在当前时间之前

@future 验证 date和 calendar 对象是否在当前时间之后

@pattern 验证 string对象是否符合正则表达式的规则

@Email 验证邮箱

实际例子:

@size (min=3, max=20,message="用户名长度只能在3-20之间")

@size (min=6, max=20,message="密码长度只能在6-20之间")

@pattern(regexp="[a-za-z0-9._%+-]+@[a-za-z0-9.-]+\\.[a-za-z]{2,4}",message="邮件格式错误")

@Length(min = 5, max = 20, message = "用户名长度必须位于5到20之间")

@Email(message = "比如输入正确的邮箱")

@NotNull(message = "用户名称不能为空")

@Max(value = 100, message = "年龄不能大于100岁")

@Min(value= 18 ,message= "必须年满18岁!" )

@AssertTrue(message = "bln4 must is true")

@AssertFalse(message = "blnf must is falase")

@DecimalMax(value="100",message="decim最大值是100")

DecimalMin(value="100",message="decim最小值是100")

@NotNull(message = "身份证不能为空")

@Pattern(regexp="^(\\d{18,18}|\\d{15,15}|(\\d{17,17}[x|X]))$", message="身份证格式错误")

。。。。。。。。。。。。。。。。。

版权原因,完整文章,请参考如下:59. Spring Boot Validator校验

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值