catchErrors method

Map catchErrors(
  1. Map form
)

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