UNPKG

fire-validator

Version:

表单校验

35 lines (33 loc) 796 B
import { strategies } from "./strategies"; class Validator { constructor(strategies) { this.strategies = strategies; this.cache = []; } add(value, rules, errMsg) { if (rules instanceof Array) { rules.forEach((rule) => { const { method } = rule; rule = { value, ...rule }; this.cache.push(() => { return this.strategies[method](rule); }); }); } else { this.cache.push(() => { return this.strategies[rules]({ value, errMsg }); }); } } start() { for (const strategiesFn of this.cache) { let errMsg = strategiesFn(); if (errMsg) { return errMsg; } } } } export function getValidator() { return new Validator(strategies); }