TF-4124 fix: support localhost addresses in email validation
This commit is contained in:
+1
-1
@@ -19,7 +19,7 @@ extension HandleRecipientsCollapsedExtensions on ComposerController {
|
|||||||
|
|
||||||
bool get existEmailAddressInvalid => allListEmailAddress
|
bool get existEmailAddressInvalid => allListEmailAddress
|
||||||
.any(
|
.any(
|
||||||
(emailAddress) => !EmailUtils.isEmailAddressValid(
|
(emailAddress) => !EmailUtils.isValidEmail(
|
||||||
emailAddress.emailAddress,
|
emailAddress.emailAddress,
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ class RecipientCollapsedItemWidget extends StatelessWidget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Color _getTagBackgroundColor() {
|
Color _getTagBackgroundColor() {
|
||||||
if (EmailUtils.isEmailAddressValid(emailAddress.emailAddress)) {
|
if (EmailUtils.isValidEmail(emailAddress.emailAddress)) {
|
||||||
return AppColor.grayBackgroundColor;
|
return AppColor.grayBackgroundColor;
|
||||||
} else {
|
} else {
|
||||||
return Colors.white;
|
return Colors.white;
|
||||||
@@ -59,7 +59,7 @@ class RecipientCollapsedItemWidget extends StatelessWidget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Border _getTagBorder() {
|
Border _getTagBorder() {
|
||||||
if (EmailUtils.isEmailAddressValid(emailAddress.emailAddress)) {
|
if (EmailUtils.isValidEmail(emailAddress.emailAddress)) {
|
||||||
return Border.all(
|
return Border.all(
|
||||||
width: 1,
|
width: 1,
|
||||||
color: AppColor.grayBackgroundColor,
|
color: AppColor.grayBackgroundColor,
|
||||||
|
|||||||
@@ -170,7 +170,7 @@ class RecipientTagItemWidget extends StatelessWidget {
|
|||||||
Color _getTagBackgroundColor() {
|
Color _getTagBackgroundColor() {
|
||||||
if (isTagFocused) {
|
if (isTagFocused) {
|
||||||
return AppColor.colorItemRecipientSelected;
|
return AppColor.colorItemRecipientSelected;
|
||||||
} else if (EmailUtils.isEmailAddressValid(currentEmailAddress.emailAddress)) {
|
} else if (EmailUtils.isValidEmail(currentEmailAddress.emailAddress)) {
|
||||||
return AppColor.grayBackgroundColor;
|
return AppColor.grayBackgroundColor;
|
||||||
} else {
|
} else {
|
||||||
return Colors.white;
|
return Colors.white;
|
||||||
@@ -183,7 +183,7 @@ class RecipientTagItemWidget extends StatelessWidget {
|
|||||||
width: 1,
|
width: 1,
|
||||||
color: AppColor.primaryColor,
|
color: AppColor.primaryColor,
|
||||||
);
|
);
|
||||||
} else if (EmailUtils.isEmailAddressValid(currentEmailAddress.emailAddress)) {
|
} else if (EmailUtils.isValidEmail(currentEmailAddress.emailAddress)) {
|
||||||
return Border.all(
|
return Border.all(
|
||||||
width: 1,
|
width: 1,
|
||||||
color: AppColor.grayBackgroundColor,
|
color: AppColor.grayBackgroundColor,
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ import 'package:tmail_ui_user/features/email/presentation/model/email_unsubscrib
|
|||||||
import 'package:tmail_ui_user/features/thread/domain/constants/thread_constants.dart';
|
import 'package:tmail_ui_user/features/thread/domain/constants/thread_constants.dart';
|
||||||
import 'package:tmail_ui_user/main/error/capability_validator.dart';
|
import 'package:tmail_ui_user/main/error/capability_validator.dart';
|
||||||
import 'package:tmail_ui_user/main/routes/route_utils.dart';
|
import 'package:tmail_ui_user/main/routes/route_utils.dart';
|
||||||
|
import 'package:tmail_ui_user/main/utils/app_utils.dart';
|
||||||
|
|
||||||
class EmailUtils {
|
class EmailUtils {
|
||||||
static const double desktopItemMaxWidth = 260;
|
static const double desktopItemMaxWidth = 260;
|
||||||
@@ -110,6 +111,15 @@ class EmailUtils {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool isValidEmail(String address) {
|
||||||
|
try {
|
||||||
|
return isEmailAddressValid(address) ||
|
||||||
|
AppUtils.isEmailLocalhost(address);
|
||||||
|
} catch (_) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static List<String> extractMailtoLinksFromListPost(String listPost) {
|
static List<String> extractMailtoLinksFromListPost(String listPost) {
|
||||||
try {
|
try {
|
||||||
if (listPost.trim().isEmpty) return [];
|
if (listPost.trim().isEmpty) return [];
|
||||||
|
|||||||
Reference in New Issue
Block a user