validate method

Future<FormResultFree> validate(
  1. Map<String, Object?> data, {
  2. List<String> onlyCheckKeys = const [],
})

Implementation

Future<FormResultFree> validate(
  Map<String, Object?> data, {
  List<String> onlyCheckKeys = const [],
}) async {
  var formResult = FormResultFree(this);

  for (var key in fields.keys) {
    if (onlyCheckKeys.isNotEmpty && !onlyCheckKeys.contains(key)) {
      continue;
    }

    final field = fields[key]!;
    var value = ObjectDescovery.descovr(
      data[key],
      field.type,
      def: field.defaultValue?.call(),
    );

    final resultFieldValidate = await field.validate(value);
    formResult.success &= resultFieldValidate.success;
    formResult.formResult[key] = resultFieldValidate;
  }

  return formResult;
}