validateDisplayName function

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

Implementation

Either<ValueFailure<String>, String> validateDisplayName(String input) {
  const displayNameRegex = r"[a-zA-Z0-9.a-zA-Z0-9.!#$%&'+-/=?^_` {|}~]$";

  if (input == "") {
    return const Left(
      ValueFailure.missing(field: ".displayName"),
    );
  } else if (input.length > 24) {
    return Left(
      ValueFailure.longDisplayName(failedValue: input, field: ".displayName"),
    );
  } else if (RegExp(displayNameRegex).hasMatch(input)) {
    return Right(input);
  } else {
    return Left(
      ValueFailure.invalidDisplayName(
          failedValue: input, field: ".displayName"),
    );
  }
}