Skip to content

Commit ddafa9a

Browse files
chore: Revert "fix(authenticator): required phone number validator (#4106)" (#4117)
Revert "fix(authenticator): required phone number validator (#4106)" This reverts commit eb6e68b.
1 parent eb6e68b commit ddafa9a

File tree

7 files changed

+8
-63
lines changed

7 files changed

+8
-63
lines changed

packages/authenticator/amplify_authenticator/lib/src/mixins/authenticator_phone_field.dart

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,7 @@ mixin AuthenticatorPhoneFieldMixin<FieldType extends Enum,
4747
return phoneNumber?.ensureStartsWith('+${state.dialCode.value}');
4848
}
4949

50-
String displayPhoneNumber(String? phoneNumber) {
51-
phoneNumber = phoneNumber ?? '';
50+
String displayPhoneNumber(String phoneNumber) {
5251
final prefix = '+${state.dialCode.value}';
5352
if (phoneNumber.startsWith(prefix)) {
5453
phoneNumber = phoneNumber.substring(prefix.length);

packages/authenticator/amplify_authenticator/lib/src/mixins/authenticator_username_field.dart

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -164,15 +164,6 @@ mixin AuthenticatorUsernameField<FieldType extends Enum,
164164
}
165165
}
166166

167-
String displayPhoneNumber(String? phoneNumber) {
168-
phoneNumber = phoneNumber ?? '';
169-
final prefix = '+${state.dialCode.value}';
170-
if (phoneNumber.startsWith(prefix)) {
171-
phoneNumber = phoneNumber.substring(prefix.length);
172-
}
173-
return phoneNumber;
174-
}
175-
176167
@override
177168
FormFieldValidator<UsernameInput> get validator {
178169
switch (selectedUsernameType) {
@@ -192,7 +183,7 @@ mixin AuthenticatorUsernameField<FieldType extends Enum,
192183
isOptional: isOptional,
193184
context: context,
194185
inputResolver: stringResolver.inputs,
195-
)(displayPhoneNumber(input?.username));
186+
)(input?.username);
196187
}
197188
}
198189

packages/authenticator/amplify_authenticator/lib/src/utils/validators.dart

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,7 @@ import 'package:flutter/material.dart';
1111
*/
1212
final usernameRegex = RegExp(r'^\S+$');
1313
final emailRegex = RegExp(r'^\S+@\S+$');
14-
15-
/// Regex for a valid phone number.
16-
///
17-
/// The "+" prefix is excluded since validation is performed against the number
18-
/// without the prefix. That is, if the full number is "+1-123-555-7890", the
19-
/// "+1" is dropped prior to validation.
20-
final phoneNumberRegex = RegExp(r'^\d+$');
14+
final phoneNumberRegex = RegExp(r'^\+\d+$');
2115
final _codeRegex = RegExp(r'^\d{6}$');
2216
final _uppercase = RegExp(r'[A-Z]');
2317
final _lowercase = RegExp(r'[a-z]');
@@ -162,8 +156,8 @@ FormFieldValidator<String> validatePhoneNumber({
162156
InputResolverKey.phoneNumberEmpty,
163157
);
164158
}
165-
final formattedNumber = phoneNumber.trim();
166-
if (!phoneNumberRegex.hasMatch(formattedNumber)) {
159+
phoneNumber = phoneNumber.trim();
160+
if (!phoneNumberRegex.hasMatch(phoneNumber)) {
167161
return inputResolver.resolve(context, InputResolverKey.phoneNumberFormat);
168162
}
169163
return null;

packages/authenticator/amplify_authenticator/lib/src/widgets/form_fields/confirm_sign_in_form_field.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -559,7 +559,7 @@ class _ConfirmSignInPhoneFieldState extends _ConfirmSignInTextFieldState
559559
@override
560560
FormFieldValidator<String> get validator {
561561
return (phoneNumber) {
562-
phoneNumber = displayPhoneNumber(phoneNumber);
562+
phoneNumber = formatPhoneNumber(phoneNumber);
563563
return validatePhoneNumber(
564564
inputResolver: stringResolver.inputs,
565565
context: context,

packages/authenticator/amplify_authenticator/lib/src/widgets/form_fields/phone_number_field.dart

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,12 +86,11 @@ class _AuthenticatorPhoneFieldState<FieldType extends Enum>
8686
@override
8787
FormFieldValidator<String> get validator {
8888
return (String? phoneNumber) {
89+
phoneNumber = formatPhoneNumber(phoneNumber);
8990
final validator = widget.validator;
9091
if (validator != null) {
91-
phoneNumber = formatPhoneNumber(phoneNumber);
9292
return validator(phoneNumber);
9393
}
94-
phoneNumber = displayPhoneNumber(phoneNumber);
9594
return validatePhoneNumber(
9695
inputResolver: stringResolver.inputs,
9796
context: context,

packages/authenticator/amplify_authenticator/lib/src/widgets/form_fields/sign_up_form_field.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -738,7 +738,7 @@ class _SignUpPhoneFieldState extends _SignUpTextFieldState
738738
@override
739739
FormFieldValidator<String> get validator {
740740
return (phoneNumber) {
741-
phoneNumber = displayPhoneNumber(phoneNumber);
741+
phoneNumber = formatPhoneNumber(phoneNumber);
742742
return validatePhoneNumber(
743743
inputResolver: stringResolver.inputs,
744744
context: context,

packages/authenticator/amplify_authenticator/test/sign_up_form_test.dart

Lines changed: 0 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -118,44 +118,6 @@ void main() {
118118
},
119119
);
120120

121-
testWidgets(
122-
'displays message when submitted with empty phone number if the field is required',
123-
(tester) async {
124-
await tester.pumpWidget(
125-
MockAuthenticatorApp(
126-
initialStep: AuthenticatorStep.signUp,
127-
signUpForm: SignUpForm.custom(
128-
fields: [
129-
SignUpFormField.username(),
130-
SignUpFormField.phoneNumber(required: true),
131-
SignUpFormField.password(),
132-
],
133-
),
134-
),
135-
);
136-
await tester.pumpAndSettle();
137-
138-
final signUpPage = SignUpPage(tester: tester);
139-
140-
await signUpPage.submitSignUp();
141-
142-
await tester.pumpAndSettle();
143-
144-
Finder findPhoneFieldError() => find.descendant(
145-
of: signUpPage.phoneField,
146-
matching: find.text('Phone Number field must not be blank.'),
147-
);
148-
149-
expect(findPhoneFieldError(), findsOneWidget);
150-
151-
await signUpPage.enterPhoneNumber('1235556789');
152-
153-
await signUpPage.submitSignUp();
154-
155-
expect(findPhoneFieldError(), findsNothing);
156-
},
157-
);
158-
159121
testWidgets(
160122
'displays message when submitted with invalid birth date',
161123
(tester) async {

0 commit comments

Comments
 (0)