validateEmail function

Either<ValueFailure<String>, String> validateEmail(
  1. String input
)

Implementation

Either<ValueFailure<String>, String> validateEmail(String input) {
  const emailRegex =
      r"^[a-zA-Z0-9.a-zA-Z0-9.!#$%&'+-/=?^_`{|}~]+@[a-zA-Z0-9.a-zA-Z0-9.!#$%&'+-/=?^_`{|}~]+\.[a-zA-Z]+";
  if (input == "") {
    return const Left(
      ValueFailure.missing(field: "email"),
    );
  } else if (RegExp(emailRegex).hasMatch(input)) {
    return Right(input);
  } else {
    return Left(
      ValueFailure.invalidEmail(failedValue: input, field: "email"),
    );
  }
}