catchErrors method
validate the values you have sent and return a Map with errors. each error will have the key from form keys
if there is no errors it will return an empty Map
Implementation
Map<dynamic, dynamic> catchErrors(Map<dynamic, dynamic> form) {
final data = _fillSchemaIfNeeded(form);
Map<dynamic, dynamic> errors = {};
_schema.forEach((key, value) {
if (value is EzValidator) {
var error = value.build()(data[key], data);
if (error != null) {
errors[key] = error;
}
} else if (value is EzSchema) {
var nestedErrors = value.catchErrors(data[key] ?? {});
if (nestedErrors.isNotEmpty) {
errors[key] = nestedErrors;
}
}
});
if (noUnknown) {
for (var key in form.keys) {
if (!_schema.containsKey(key)) {
errors[key] = EzValidator.globalLocale.unknownFieldMessage;
}
}
}
return errors;
}