SSM框架之模型数据验证

本文深入解析Java验证框架的正确使用方式,强调了Hibernate而非Validation包的重要性。详细介绍了实体类使用@Valid注解及BindingResult参数的必要性,展示了如何通过bingdingResult.hasErrors()检查验证错误,并直接在页面输出错误信息。同时,文章列举了各种约束注解及其用途,如@Null、@NotNull、@Min等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

提供验证所需包

另外有一点不要用错包了

这个validation的包在验证的时候是用不到的,反而是hibernate这个包才是用的到的。我也是被这个误导一直导入的javax.validation的包导致一直验证不到。

这样才是可以的。

另外值得注意的一点是

验证的实体类要用@valid修饰,并且后面跟着的参数必须是BindingResult类型才行。验证方法bingdingResult.hasErros(),有问题会返回true,没问题返回false。

可以直接在页面输出错误信息:

 

测试结果如下:

要提一点回页面这里不能用重定向不然错误信息会丢失。

最后列举举一些约束:

 
约束说明
@Null被注释的元素必须为空
@NotNull被注释的元素不能为空
@AssertTrue被注释的元素必须为true
@AssertFase被注释的元素必须为false
@Min(Value)被注释的元素必须是一个数字,其必须大于等于指定的最小值
@Max(Value)被注释的元素必须是一个数字,其必须小于等于指定的最大值
@DecimalMin(Value)被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@DecimalMax(Value)被注释的元素必须是一个数字,其值必须小于等于指定的最大值
@Size(MAX,MIN)被注释的元素必须在指定的范围内
@Digits(integer,fraction)被注释的数必须是一个数字,其值必须在可接受范围内
@Past被注释的元素必须是一个过去的日期
@Future被注释的元素必须是一个未来的日期
@Pattern(Value)被注释的元素必须是符合正则表达式

这些都是注解,那么在配置文件中别忘了配置注解驱动

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值