Scala signup validation with all field errors

Scala
case class Signup(name: String, email: String, age: Int)

def validateSignup(input: Signup): Either[List[String], Signup] =
  val errors = List(
    Option.when(input.name.trim.isEmpty)("name: required"),
    Option.when(input.email.count(_ == '@') != 1)("email: must contain one @"),
    Option.when(input.age < 18)("age: must be at least 18"),
    Option.when(input.age > 120)("age: must be at most 120")
  ).flatten
  if errors.isEmpty then
    Right(input.copy(name = input.name.trim, email = input.email.trim.toLowerCase))
  else Left(errors)