interface CheckRulesRes { hasError: boolean message: string key: string data: CheckRulesItem | {}}
interface CheckRulesItem { key: string nullMessage?: any isNull?: boolean reg?: RegExp message?: any}
export function checkRules(datas: any, rules: Array<CheckRulesItem>): CheckRulesRes { let res: CheckRulesRes = { hasError: false, message: '', key: '', data: {}, } for (let i = 0; i < rules.length; i++) { const data = rules[i] const { key, reg, message, isNull, nullMessage } = data const value = datas[key] res.key = key res.data = data if (isNull && (value === '' || value === null || value === undefined)) { res.hasError = true res.message = nullMessage || message return res }
if (reg && !reg.test(value)) { res.hasError = true res.message = message return res } }
return res}