数据校验
存在一个错误提示不消失的bug还没解决。
tip1:
为了在前段判断输入的字符串里面都是数字,用正则表达式
if(/^[0-9]+$/.test(str))
tip2:
clearable清空内容
tip3:(由于公司代码均不可外泄,所以没法复制到博客,只能大致指出其位置和作用)
后端用validation
来校验:
这个是添加的依赖
bean里面
@NotEmpty
,@NotNul
l和@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帮忙写函数的功能属实给力,我之前看了些源码,周末再研究一下。这个搞定了还有时间的话就来公司把剩下的校验用复制粘贴的方式加一加。这星期攒了不少算法题么复习,周末也得复习一下。