抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

下周任务是写验证字段合法性的插件,现在先看看大佬的写法,记录一下流水账。

大佬的插件:andreciornavei/strapi-plugin-validator: A strapi plugin to tunning strapi validations (github.com)

这个插件使用的“引擎”是 Adonis.js

整个插件都是为了方便操作,从用户建立的配置文件里读取字段和规则,经过整理,整理成该“引擎”所对应的格式,最终接收验证结果,选择 next() 还是 ctx.badRequest()

阅读源码之前先撸袖子,再掏出思维导图,打上断点,F5走起!

我用思维导图记录该插件的运行过程(流水账)

阅读strapi-validator源码 | ProcessOn免费在线作图,在线流程图,在线思维导图

没有很详细,一些对配置文件low level的格式判断(正常人都不会这么写)没列出来。

吐槽:

Adonis.js 的rule-parser 会把我写的下划线 rule 名字给我驼峰化了,导致我配合 strapi-plugin-validator 插件写规则报找不到规则的错误!

我写的:array_has_object_key,他去找 arrayHasObjectKey,那肯定找不着嘛。。

评论