profile page fix bugs

This commit is contained in:
mohammad
2024-07-28 15:27:34 +03:00
parent 0eae96503b
commit f27a9b0d8a
3 changed files with 8 additions and 21 deletions

View File

@ -23,8 +23,7 @@ class ProfileBloc extends Bloc<ProfileEvent, ProfileState> {
String timeZoneSelected = '';
String regionSelected = '';
final TextEditingController searchController = TextEditingController();
final TextEditingController nameController = TextEditingController(
text: '${HomeCubit.user!.firstName} ${HomeCubit.user!.lastName}');
final TextEditingController nameController = TextEditingController(text: '${HomeCubit.user!.firstName} ${HomeCubit.user!.lastName}');
List<TimeZone>? timeZoneList;
List<RegionModel>? regionList;
@ -240,25 +239,17 @@ class ProfileBloc extends Bloc<ProfileEvent, ProfileState> {
String? fullNameValidator(String? value) {
if (value == null) return 'Full name is required';
final withoutExtraSpaces = value.replaceAll(RegExp(r"\s+"), ' ').trim();
if (withoutExtraSpaces.length < 2 || withoutExtraSpaces.length > 30) {
return 'Full name must be between 2 and 30 characters long';
}
// Test if it contains anything but alphanumeric spaces and single quote
if (RegExp(r"/[^ a-zA-Z0-9-\']/").hasMatch(withoutExtraSpaces)) {
return 'Only alphanumeric characters, space, dash and single quote are allowed';
}
final parts = withoutExtraSpaces.split(' ');
if (parts.length < 2) return 'Full name must contain first and last names';
if (parts.length > 3) return 'Full name can at most contain 3 parts';
if (parts.length > 2) return 'Full name can at most contain 3 parts';
if (parts.any((part) => part.length < 2 || part.length > 30)) {
return 'Full name parts must be between 2 and 30 characters long';
}

View File

@ -24,9 +24,7 @@ class RegionPage extends StatelessWidget {
);
}
if (state is SaveState) {
new Future.delayed(const Duration(milliseconds: 500), () {
Navigator.of(context).pop(true);
});
}
},
builder: (context, state) {

View File

@ -26,9 +26,7 @@ class TimeZoneScreenPage extends StatelessWidget {
),
);
}if (state is SaveState) {
new Future.delayed(const Duration(milliseconds: 500), () {
Navigator.of(context).pop(true);
});
}
},
builder: (context, state) {