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>);
  }
}