我这样调用函数:
import {required, maxLength} from 'utils/validation';
import sitesForm from './sites.json';
import productForm from './product.json';
var validateSite = {};
for(var group in sitesForm ) {
var groupObj = sitesForm[group];
for(var el in groupObj ) {
console.log(eval('required'))
validateSite[groupObj[el].name] = groupObj[el].rules.map(eval)
}
}
//utils/validation.js
export function required(value) {
if (isEmpty(value)) {
return 'Champs requis';
}
}
我收到一条错误消息,指出未定义required,在json中,我得到了以下规则数组:
“规则”:[“必填”]
但是,代码中的console.log(必填)显示:[功能:必需]
您知道为什么我不能将eval与required一起使用吗?
最佳答案
如果只想调用命名函数,则应使用索引器符号:
import validators from 'utils/validation';
validateSite[groupObj[el].name] = groupObj[el].rules.map(s => validators[s])