数据校验--老先生

本文介绍了在Spring Boot后端与Vue前端中进行数据校验的实践过程,包括正则表达式验证数字输入、非空、长度限制以及自定义错误信息返回。通过示例展示了如何使用Bean校验注解,并探讨了错误提示不消失的bug以及非法数据校验的挑战。同时提到了SpringData的学习计划,以及待解决的输入框问题。

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

数据校验

存在一个错误提示不消失的bug还没解决。

tip1:

为了在前段判断输入的字符串里面都是数字,用正则表达式

if(/^[0-9]+$/.test(str))

tip2

clearable清空内容

tip3:(由于公司代码均不可外泄,所以没法复制到博客,只能大致指出其位置和作用)

后端用validation来校验:

这个是添加的依赖

img

bean里面

@NotEmpty,@NotNull和@NotBlank的区别

1 @NotEmpty:不能为null,且Size>0

2 @NotNull:不能为null,但可以为empty,没有Size的约束

3 @NotBlank:只用于String,不能为null且trim()之后size>0

这个在网点的类里面用的是@NotBlank

还用了一个@Size(max=16)来确定最大位数

这个是加在定义的变量上的

controller里面

要在函数后面的参数位置前加上@Valid,后面再多加一个参数BindingResult bindingResult ,这个是@Valid校验。

1.bindingResult.getFieldError().getDefaultMessage()这个在类里面多个参数报错的时候效果并不好,因为他只随机返回了一个报错的信息。所以我之后用了下面的方法。

List<ObjectError> objectErrors=bindingResult.getAllErrors();

这个是建立了一个list,然后把所有的报错都放进去,之后又建立了一个StringBuilder(这个其实用String也是可以的,只不过我为了图方便,毕竟string没有.append()这种给力的好操作),用这个建立的StringBuilder把list里面的数据都合在一起,再用toString()转成String类型,放在ResultBuilder.builderFailedResult(参数位置)里面返回,这样就错误信息都能返回了。

今日完成:

今天这个网点的前后端的校验基本都搞懂了,实现了非空过长和非法字符校验,最后那个String类型的code也没有改成int,为了避免出现0开头的编号,所以加了个正则表达式来保证里面是数字而不是非法字符。留了一个错误提示不消失的bug还有后端的非法数据校验,非法数据校验需要正则表达式,这个其实今天没完全看懂,只会了数字位校验。别的有时间再整整。别的地方的校验就基本都一样的,我搞懂了这个别的地方我就直接复制粘贴改改参数就行。错误提示不消失的bug和之前输入框无法同时输入编号和名字的问题等周一问一下写这组代码的学姐。这部分不是导师做的所以也不清楚这里的逻辑,之前回滚代码很难受,花了很大功夫结果设想没实现的,希望周一可以做出来。

周末要学习一下SpringData这个神奇的东西,这个项目里面没用到,但Springdata帮忙写函数的功能属实给力,我之前看了些源码,周末再研究一下。这个搞定了还有时间的话就来公司把剩下的校验用复制粘贴的方式加一加。这星期攒了不少算法题么复习,周末也得复习一下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值