TF-233 Add mailbox name validator

This commit is contained in:
dab246
2022-02-22 16:04:12 +07:00
committed by Dat H. Pham
parent eec37295c8
commit 8f356a4ee3
19 changed files with 318 additions and 15 deletions
@@ -0,0 +1,18 @@
import 'package:core/core.dart';
import 'package:dartz/dartz.dart';
import 'package:tmail_ui_user/features/mailbox_creator/domain/model/verification/new_name_request.dart';
import 'package:tmail_ui_user/features/mailbox_creator/domain/model/verification/validator.dart';
import 'package:tmail_ui_user/features/mailbox_creator/domain/state/verify_name_view_state.dart';
extension ListValidatorExtension on List<Validator> {
Either<Failure, Success> getValidatorNameViewState(NewNameRequest newNameRequest) {
for (var validator in this) {
final either = validator.validate(newNameRequest);
if (either.isLeft()) {
return either;
}
}
return Right<Failure, Success>(VerifyNameViewState());
}
}
@@ -0,0 +1,6 @@
extension NameValidatorStringExtension on String {
bool hasSpecialCharactersInName() {
return RegExp(r'^([@#%^$~!%&*()+=\|{}/<>:;?`])').hasMatch(this);
}
}