likes
comments
collection
share

json自定义方法

作者站长头像
站长
· 阅读数 63
我们都知道在JSON中,值必须是字符串、数字、对象(JSON 对象)、数组、布尔、Null等数据类型,而不能是函数、日期、undefined等类型,但json作为当前行业内使用最为广泛的数据传输格式之一,日常开发过程中,我们难免需要直接从json中读取相关的方法内容。
本文借主要围绕以下业务场景进行展开:
    在开发中,我们引入elementUI的form表单,通过绑定rule属性传入相关的校验规则,此外也可以通过validator属性自定义方法.但如果要从json中读取相应的校验规则,并要求对表单进行自定义的校验的话,我们该如何做呢?这个时候就需要借助eval啦!我们可以考虑先把函数用引号包裹起来,转成字符串的形式,再借助eval函数计算这个字符串,执行其中的JavaScript代码。
"rule": {
    "formRules": [{
       "validator": "(rule, value, callback) =>{if(/(^[1-9]\\d*(\\.?[0-9]{1,2})?$)|(^0\\.[0-9]{1,2}$)/.test(value) && value>0 && value<=200){callback();}else{callback(new Error('数字必须在0~200(不含0)之间,可输入最多2位小数'))}}",
       "trigger": "blur"
     }]
},
rules.map(r => {
   return r.validator ? Object.assign(r, { validator: eval(r.validator) }) : r
})
转载自:https://segmentfault.com/a/1190000022892842
评论
请登录