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