| 123456789101112131415161718192021222324252627282930313233 | import * as util from '../util';/** *  Rule for validating a regular expression pattern. * *  @param rule The validation rule. *  @param value The value of the field on the source object. *  @param source The source object being validated. *  @param errors An array of errors that this rule may add *  validation errors to. *  @param options The validation options. *  @param options.messages The validation messages. */function pattern(rule, value, source, errors, options) {  if (rule.pattern) {    if (rule.pattern instanceof RegExp) {      // if a RegExp instance is passed, reset `lastIndex` in case its `global`      // flag is accidentally set to `true`, which in a validation scenario      // is not necessary and the result might be misleading      rule.pattern.lastIndex = 0;      if (!rule.pattern.test(value)) {        errors.push(util.format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));      }    } else if (typeof rule.pattern === 'string') {      var _pattern = new RegExp(rule.pattern);      if (!_pattern.test(value)) {        errors.push(util.format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));      }    }  }}export default pattern;
 |