From bb3c28be72279383116401ade171e2d3855580bc Mon Sep 17 00:00:00 2001 From: dab246 Date: Tue, 29 Oct 2024 16:16:28 +0700 Subject: [PATCH] TF-3178 Add verify name only contain spaces for rule filter name --- .../validator_failure_extension.dart | 14 +++++------- .../rules_filter_creator_controller.dart | 9 +++++++- lib/l10n/intl_messages.arb | 22 ++++++++++++------- lib/main/localizations/app_localizations.dart | 7 ++++++ 4 files changed, 34 insertions(+), 18 deletions(-) diff --git a/lib/features/mailbox_creator/presentation/extensions/validator_failure_extension.dart b/lib/features/mailbox_creator/presentation/extensions/validator_failure_extension.dart index 9ff8af9fe..a6e4e4b14 100644 --- a/lib/features/mailbox_creator/presentation/extensions/validator_failure_extension.dart +++ b/lib/features/mailbox_creator/presentation/extensions/validator_failure_extension.dart @@ -21,7 +21,7 @@ extension ValicatorFailureExtension on VerifyNameFailure { } else if (exception is SpecialCharacterException) { return AppLocalizations.of(context).folderNameCannotContainSpecialCharacters; } else if (exception is NameWithSpaceOnlyException) { - return AppLocalizations.of(context).this_field_cannot_be_blank; + return AppLocalizations.of(context).thisFieldCannotContainOnlySpaces; } else { return ''; } @@ -30,6 +30,8 @@ extension ValicatorFailureExtension on VerifyNameFailure { String getMessageIdentity(BuildContext context) { if (exception is EmptyNameException) { return AppLocalizations.of(context).this_field_cannot_be_blank; + } else if (exception is NameWithSpaceOnlyException) { + return AppLocalizations.of(context).thisFieldCannotContainOnlySpaces; } else if (exception is EmailAddressInvalidException) { return AppLocalizations.of(context).thisEmailAddressInvalid; } else { @@ -40,14 +42,8 @@ extension ValicatorFailureExtension on VerifyNameFailure { String getMessageRulesFilter(BuildContext context) { if (exception is EmptyNameException) { return AppLocalizations.of(context).this_field_cannot_be_blank; - } else { - return ''; - } - } - - String getMessageVacation(BuildContext context) { - if (exception is EmptyNameException) { - return AppLocalizations.of(context).messageIsRequired; + } else if (exception is NameWithSpaceOnlyException) { + return AppLocalizations.of(context).thisFieldCannotContainOnlySpaces; } else { return ''; } diff --git a/lib/features/rules_filter_creator/presentation/rules_filter_creator_controller.dart b/lib/features/rules_filter_creator/presentation/rules_filter_creator_controller.dart index 534398802..e9f535dea 100644 --- a/lib/features/rules_filter_creator/presentation/rules_filter_creator_controller.dart +++ b/lib/features/rules_filter_creator/presentation/rules_filter_creator_controller.dart @@ -24,6 +24,7 @@ import 'package:tmail_ui_user/features/mailbox/presentation/extensions/presentat import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_actions.dart'; import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_tree_builder.dart'; import 'package:tmail_ui_user/features/mailbox_creator/domain/model/verification/empty_name_validator.dart'; +import 'package:tmail_ui_user/features/mailbox_creator/domain/model/verification/name_with_space_only_validator.dart'; import 'package:tmail_ui_user/features/mailbox_creator/domain/state/verify_name_view_state.dart'; import 'package:tmail_ui_user/features/mailbox_creator/domain/usecases/verify_name_interactor.dart'; import 'package:tmail_ui_user/features/mailbox_creator/presentation/extensions/validator_failure_extension.dart'; @@ -311,7 +312,13 @@ class RulesFilterCreatorController extends BaseMailboxController { } String? _getErrorStringByInputValue(BuildContext context, String? inputValue) { - return verifyNameInteractor.execute(inputValue, [EmptyNameValidator()]).fold( + return verifyNameInteractor.execute( + inputValue, + [ + EmptyNameValidator(), + NameWithSpaceOnlyValidator(), + ], + ).fold( (failure) { if (failure is VerifyNameFailure) { return failure.getMessageRulesFilter(context); diff --git a/lib/l10n/intl_messages.arb b/lib/l10n/intl_messages.arb index bdace6c08..8ebe29b1b 100644 --- a/lib/l10n/intl_messages.arb +++ b/lib/l10n/intl_messages.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2024-10-25T09:31:37.466558", + "@@last_modified": "2024-10-29T16:13:26.917296", "initializing_data": "Initializing data...", "@initializing_data": { "type": "text", @@ -1566,6 +1566,12 @@ "placeholders_order": [], "placeholders": {} }, + "languageGerman": "German", + "@languageGerman": { + "type": "text", + "placeholders_order": [], + "placeholders": {} + }, "languageVietnamese": "Vietnamese", "@languageVietnamese": { "type": "text", @@ -1596,12 +1602,6 @@ "placeholders_order": [], "placeholders": {} }, - "languageGerman": "German", - "@languageGerman": { - "type": "text", - "placeholders_order": [], - "placeholders": {} - }, "messageDialogSendEmailUploadingAttachment": "Your message could not be sent because it uploading attachment", "@messageDialogSendEmailUploadingAttachment": { "type": "text", @@ -4035,5 +4035,11 @@ "type": "text", "placeholders_order": [], "placeholders": {} + }, + "thisFieldCannotContainOnlySpaces": "This field cannot contain only spaces", + "@thisFieldCannotContainOnlySpaces": { + "type": "text", + "placeholders_order": [], + "placeholders": {} } -} +} \ No newline at end of file diff --git a/lib/main/localizations/app_localizations.dart b/lib/main/localizations/app_localizations.dart index c71fc509c..2b19ccd19 100644 --- a/lib/main/localizations/app_localizations.dart +++ b/lib/main/localizations/app_localizations.dart @@ -4231,4 +4231,11 @@ class AppLocalizations { 'Find emails', name: 'findEmails'); } + + String get thisFieldCannotContainOnlySpaces { + return Intl.message( + 'This field cannot contain only spaces', + name: 'thisFieldCannotContainOnlySpaces', + ); + } }