validate function

String? validate(
  1. FormControls element,
  2. String value
)

Implementation

String? validate(FormControls element, String value) {
  var val = value.trim();
  var validationMessages = <String?>[];

  if (element.controlConfig.isRequired && isRequired(val) != null) {
    validationMessages.add(isRequired(val));
  }

  if (element.controlConfig.inputType != null &&
      element.controlConfig.inputType == TextInputType.emailAddress &&
      isEmailValid(val)) {
    validationMessages.add(emailValidationMessage(val));
  }

  if (element.controlConfig.validator != null) {
    validationMessages.add(element.controlConfig.validator!());
  }

  if (element.controlConfig.alreadyExists != null &&
      element.controlConfig.alreadyExists.contains(val.toLowerCase())) {
    validationMessages
        .add(alreadyExists(val, element.controlConfig.label!.toLowerCase()));
  }

  return validationMessages.isNotEmpty ? validationMessages.join(' ') : null;
}