From 9a94fa930ed802f83edb17e24267882198a9f248 Mon Sep 17 00:00:00 2001 From: Anton Sapozhnikov Date: Mon, 11 May 2026 18:02:22 +0200 Subject: [PATCH] feat: support localhost domains in user emails --- lib/core/services/input_validation_service.dart | 2 +- test/core/services/input_validation_service_test.dart | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/core/services/input_validation_service.dart b/lib/core/services/input_validation_service.dart index 21dc13bfa..22c3df16b 100644 --- a/lib/core/services/input_validation_service.dart +++ b/lib/core/services/input_validation_service.dart @@ -7,7 +7,7 @@ import '../../shared/theme/conduit_input_styles.dart'; class InputValidationService { // Email regex pattern static final RegExp _emailRegex = RegExp( - r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$', + r'^[a-zA-Z0-9._%+-]+@([a-zA-Z0-9.-]+\.[a-zA-Z]{2,}|localhost)$', ); // Strong password regex (min 8 chars, 1 upper, 1 lower, 1 number, 1 special) diff --git a/test/core/services/input_validation_service_test.dart b/test/core/services/input_validation_service_test.dart index 1280ef952..0afe129fd 100644 --- a/test/core/services/input_validation_service_test.dart +++ b/test/core/services/input_validation_service_test.dart @@ -16,6 +16,11 @@ void main() { .isNull(); }); + test('returns null for email with localhost domain', () { + check(InputValidationService.validateEmail('user@localhost')) + .isNull(); + }); + test('returns error for invalid email without domain', () { check(InputValidationService.validateEmail('user@')) .isA();