关于egg-validate自定义验证类型不生效问题

关于egg-validate自定义验证类型不生效问题

问题描述:

egg-validate自带描述不支持中文信息提示,所以我想自定义类型,实现中文提示

问题描述:

按照官方的描述说是支持自动加载的

https://img1.sycdn.imooc.com//climg/63c3aa39091b4ba810740657.jpg

创建好相关文件后却不生效:

https://img1.sycdn.imooc.com//climg/63c3aa6b0963f75b16500650.jpg

https://img1.sycdn.imooc.com//climg/63c3aab80905a54315310782.jpg

于是,我自己手动加载:

https://img1.sycdn.imooc.com//climg/63c3aadc093fa27e16850843.jpg

https://img1.sycdn.imooc.com//climg/63c3abe9098a367610380185.jpg

问题描述:

然后开始进入使用:

https://img1.sycdn.imooc.com//climg/63c3ac6f0910081013930797.jpg

https://img1.sycdn.imooc.com//climg/63c3acb40920634f08360812.jpg


问题描述:

最后还是不是生效:

https://img1.sycdn.imooc.com//climg/63c3accb09ec3e3a05900318.jpg


正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好

经我测试,其实你的验证是已经生效的,但是要稍微修改一下。

phoneNumber: {
    type: "phone",
    message: "手机号码格式错误",
    // 因为你插件中把这个设置为 true 了,你可以在插件中设置,也可以在字段上设置
    widelyUndefined: false
},

因为加入这个是 true 的话,就会讲空字符串 convert 成 undefined。
然后验证应该应该有一个默认的功能,那就是当是 undefined 的时候,根本就不会进入你的自定义验证中
直接抛出,并且默认返回信息是 required。

当我把这个设置了以后,测试空值:
返回 该字段为必填项!
测试错误的手机号格式:
返回:手机号码格式错误

并且可以观测到自定义 rule 中的 console 已经触发~
成功啦


  • 慕村8544442 提问者 #1

    感谢老师!这个属性害死人

    2023-01-17 23:33:05
张轩 2023-01-16 09:37:36

同学你好

请提供一下你的源代码(git),我在本地帮你调试看一下,谢谢

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师