x-render icon indicating copy to clipboard operation
x-render copied to clipboard

自定义动态检验支持类函数表达式的功能

Open killdada opened this issue 3 years ago • 4 comments

期望的新功能 (describe the expected new feature)

简述一下使用场景,便于开发者更好理解新功能的必要性 (describe your scenario for us to understand the need)

目前组件稍微业务交互复杂点的时候,需要配置内置组件的rule 增加 validtor 配置

背景1:增加 validtor 动态函数后,验证可以满足业务,但是函数通过 JSON.stringify保存到接口以后会丢失 函数,导致检验函数丢失

处理:把 JSON.stringify 改用 serialize-javascript 进行序列化解决了函数丢失的问题,满足业务

背景2:即使使用了 serialize-javascript 进行序列化,但是 fr-generator里面的导出schema使用的还是JSON.stringify() 导致复制以后,进行导入操作,丢失函数

期望

自定义动态检验 validor 用字符串保存函数,类似跟函数表达式一样的交互效果,应该也可以满足大部分业务

killdada avatar May 13 '22 09:05 killdada

@killdada 所以是希望 fr-generator 导出的函数用 serialize-javascript 处理一下?

siyi98 avatar May 25 '22 06:05 siyi98

最简单的处理:

就是导出的时候使用serialize-javascript 序列化下(注意一些undfined变量那个库也会导出来,实际这些变量没有必要,那个库没有提供undefined的过滤,虽然导出多了undefined也不影响具体使用,但是会使文件内容过长),然后补充关于这一块的文档说明,关于validtor动态函数的保存等

目前我是在之前自己fork的版本上处理了

复杂点的处理:

不引入动态函数存储的概念,之前跟函数表达式一样配置联动,存储的都是字符串,然后通过 new function执行替换,目前这个看源码上实现起来麻烦点

killdada avatar May 25 '22 06:05 killdada

最简单的处理来个pr?

siyi98 avatar May 25 '22 07:05 siyi98

晚点我加下,这个pr流程有规范说明么?

killdada avatar May 25 '22 07:05 killdada