check method

Future<bool> check({
  1. Map fill = const {},
  2. dynamic onValid(
    1. Map<String, dynamic>
    )?,
  3. dynamic onInvalid(
    1. Map<String, dynamic>
    )?,
})

Implementation

Future<bool> check({
  Map fill = const {},
  Function(Map<String, dynamic>)? onValid,
  Function(Map<String, dynamic>)? onInvalid,
}) async {
  var dataRequest = {
    ...rq.getAll(),
    ...fill,
  };

  var form = {
    'widget': widget,
    'name': name,
    'success': true,
  };

  var success = true;
  for (var field in _fields) {
    var value = _setValue(field, dataRequest[field.name]);
    var resField = await field.validate(value);
    success &= resField['success'];
    form[field.name] = resField;
  }
  form['success'] = success;
  rq.addParam(name, form);
  _isChecked = true;
  _checkedResult = form;

  if (success) {
    await onValid?.call(form);
  } else {
    await onInvalid?.call(form);
  }

  return success;
}