Files
smooth-app/packages/smooth_app/lib/helpers/user_management_helper.dart
monsieurtanuki c485ebf793 chore: old TODOs (#4886)
Impacted files:
* `knowledge_panel_world_map_card.dart`: handled the "multi geo" case; fixed the geo marker alignment
* `permission_helper.dart`: removed comment
* `pubspec.lock`: wtf
* `pubspec.yaml`: added package `email_validator`
* `svg_safe_network.dart`: minor refactoring
* `user_management_helper.dart`: now using package `email_validator`
* `user_preferences.dart`: replaced hard-coded string with const
* `user_preferences_attribute_group.dart`: removed dead code
2023-12-12 13:11:06 +01:00

30 lines
937 B
Dart

import 'package:email_validator/email_validator.dart';
import 'package:flutter/widgets.dart';
import 'package:openfoodfacts/openfoodfacts.dart';
class UserManagementHelper {
UserManagementHelper._();
static const String _userPattern = r'^[a-z0-9]+$';
static final RegExp _userRegex = RegExp(_userPattern);
static bool isEmailValid(final String email) =>
EmailValidator.validate(email);
static bool isUsernameValid(final String username) =>
username.isNotEmpty && _userRegex.hasMatch(username);
static bool isUsernameLengthValid(final String username) =>
username.length <= OpenFoodAPIClient.USER_NAME_MAX_LENGTH;
static bool isPasswordValid(final String password) => password.length >= 6;
}
extension UserManagementTextController on TextEditingController {
String get trimmedText => text.trim();
}
extension UserManagementEmail on String {
bool get isEmail => EmailValidator.validate(this);
}