validateOrgDomain function

ValidationResult validateOrgDomain(
  1. String domain
)

Validate organization domain (reverse notation like com.example)

Implementation

ValidationResult validateOrgDomain(String domain) {
  if (domain.isEmpty) {
    return const ValidationResult.invalid(
      'Organization domain cannot be empty',
    );
  }

  if (domain.contains(' ')) {
    return const ValidationResult.invalid(
      'Organization domain cannot contain spaces',
    );
  }

  // Basic reverse domain notation pattern
  final RegExp validPattern = RegExp(r'^[a-z][a-z0-9]*(\.[a-z][a-z0-9]*)+$');
  if (!validPattern.hasMatch(domain.toLowerCase())) {
    return const ValidationResult.invalid(
      'Organization domain should be in reverse notation (e.g., com.example, art.arcane)',
    );
  }

  return const ValidationResult.valid();
}