validateExtraInformationData function
Checks whether data has been entered into any of the ExtraInformation inputs.
The left side contains information about marital status.
The right side contains information about the status of the email input
Implementation
dartz.Either<bool, EmailFormStatus> validateExtraInformationData({
required Map<String, dynamic> data,
required GlobalKey<FormState> extraInfoKey,
}) {
final bool isMaritalStatusOk =
data['maritalStatus'] != null && data['maritalStatus'] != 'UNK';
final bool emailOptIn = data['emailOptIn'] as bool;
if (emailOptIn) {
if (extraInfoKey.currentState!.validate()) {
return dartz.right(EmailFormStatus.ok);
} else {
return dartz.right(EmailFormStatus.invalid);
}
} else {
return dartz.left(isMaritalStatusOk);
}
}