validate method

Future<void> validate(
  1. dynamic rules, [
  2. Map<String, String> messages = const <String, String>{}
])

Implementation

Future<void> validate(
  dynamic rules, [
  Map<String, String> messages = const <String, String>{},
]) async {
  assert(
      rules is Map<String, String> ||
          rules is List<FieldValidation> ||
          rules is List<Validation> ||
          rules is FormValidation,
      'Rules must be either Map<String, String> or List<Validation>. or FormRequest');
  TemplateEngine().sessionErrors.clear();
  if (rules is Map<String, String>) {
    await _validate(rules, messages);
  } else if (rules is List<FieldValidation>) {
    Map<String, String> ruleMessages = Map.from(messages);
    final rulesMap = Map.fromEntries(rules.map((rule) {
      ruleMessages.addAll(rule.toMapMessages);
      return MapEntry(rule.fieldName, rule.toString());
    }));
    await _validate(rulesMap, ruleMessages);
  } else if (rules is FormValidation) {
    await _formRequestValidate(rules);
  } else {
    _validateChain(rules as List<Validation>);
  }
}