From a8992a182958fc3d90b161af42e572e69d0b65f9 Mon Sep 17 00:00:00 2001 From: Bell Isabell Date: Tue, 3 Mar 2026 18:53:28 -0800 Subject: [PATCH] Fix email validation regex to require 2+ character TLDs The regex pattern [a-z]+ allowed single-letter TLDs which are invalid. Changed to [a-z]{2,} to require at least 2 characters. Closes #31 --- app/models/email_address.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/email_address.rb b/app/models/email_address.rb index ce6bd5d..c1bafab 100644 --- a/app/models/email_address.rb +++ b/app/models/email_address.rb @@ -8,7 +8,7 @@ class EmailAddress < ApplicationRecord before_save :downcase_email - VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i + VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]{2,}\z/i validates :email, presence: true, length: { maximum: 255 }, format: { with: VALID_EMAIL_REGEX }, uniqueness: true