validateUsername static method

String? validateUsername(
  1. String? value, {
  2. int minLength = 3,
  3. int maxLength = 20,
})

Validate username

Implementation

static String? validateUsername(String? value,
    {int minLength = 3, int maxLength = 20}) {
  if (value == null || value.isEmpty) {
    return 'Username is required.';
  }

  if (value.length < minLength) {
    return 'Username must be at least $minLength characters long.';
  }

  if (value.length > maxLength) {
    return 'Username must not exceed $maxLength characters.';
  }

  // Allow only letters, numbers, underscores, and hyphens
  final usernameRegExp = RegExp(r'^[a-zA-Z0-9_-]+$');
  if (!usernameRegExp.hasMatch(value)) {
    return 'Username can only contain letters, numbers, underscores, and hyphens.';
  }

  return null;
}