TF-1677: Support validation email for something@localhost case
(cherry picked from commit e74208941e8e5a2480bb444eca6b462bc576eb94)
This commit is contained in:
+2
-1
@@ -18,6 +18,7 @@ import 'package:tmail_ui_user/features/contact/presentation/widgets/contact_inpu
|
||||
import 'package:tmail_ui_user/features/contact/presentation/widgets/contact_suggestion_box_item.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/presentation/menu/settings_utils.dart';
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
import 'package:tmail_ui_user/main/utils/app_utils.dart';
|
||||
|
||||
typedef OnSuggestionContactCallbackAction = Future<List<EmailAddress>> Function(String query);
|
||||
typedef OnAddListContactCallbackAction = Function(List<EmailAddress> listEmailAddress);
|
||||
@@ -256,7 +257,7 @@ class _AutocompleteContactTextFieldWithTagsState extends State<AutocompleteConta
|
||||
}
|
||||
|
||||
bool _isValidAllEmailAddress(List<EmailAddress> addedEmailAddress) {
|
||||
return addedEmailAddress.every((addedMail) => addedMail.emailAddress.isEmail);
|
||||
return addedEmailAddress.every((addedMail) => addedMail.emailAddress.isEmail || AppUtils.isEmailLocalhost(addedMail.emailAddress));
|
||||
}
|
||||
|
||||
bool _inputFieldIsEmpty() {
|
||||
|
||||
@@ -9,6 +9,7 @@ import 'package:get/get.dart';
|
||||
import 'package:jmap_dart_client/jmap/mail/email/email_address.dart';
|
||||
import 'package:model/extensions/email_address_extension.dart';
|
||||
import 'package:tmail_ui_user/features/contact/presentation/widgets/gradient_color_avatar_icon.dart';
|
||||
import 'package:tmail_ui_user/main/utils/app_utils.dart';
|
||||
|
||||
typedef DeleteContactCallbackAction = Function(EmailAddress contactDeleted);
|
||||
|
||||
@@ -84,7 +85,7 @@ class ContactInputTagItem extends StatelessWidget {
|
||||
}
|
||||
}
|
||||
|
||||
bool _isValidEmailAddress(String value) => value.isEmail;
|
||||
bool _isValidEmailAddress(String value) => value.isEmail || AppUtils.isEmailLocalhost(value);
|
||||
|
||||
Color _getTagBackgroundColor() {
|
||||
if (lastTagFocused && isLastContact) {
|
||||
|
||||
@@ -32,4 +32,8 @@ class AppUtils {
|
||||
static bool isDirectionRTL(BuildContext context) {
|
||||
return intl.Bidi.isRtlLanguage(Localizations.localeOf(context).languageCode);
|
||||
}
|
||||
|
||||
static bool isEmailLocalhost(String email) {
|
||||
return RegExp(r'^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@localhost$').hasMatch(email);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user