validateApplicationId static method
Validates application ID format.
Ensures application IDs follow reverse domain notation and contain only valid characters.
Parameters:
applicationId: Application ID to validate
Returns: ValidationResult with the ID or error details
Example:
final result = ArgumentValidator.validateApplicationId('com.example.myapp');
if (result.isValid) {
print('Valid application ID: ${result.value}');
} else {
print('Invalid application ID: ${result.error}');
}
Implementation
static ValidationResult<String> validateApplicationId(String? applicationId) {
if (applicationId == null || applicationId.isEmpty) {
return ValidationResult.error(
'Application ID is required',
suggestion: 'Provide a valid application ID in reverse domain format',
examples: ['com.example.myapp', 'org.company.product'],
);
}
if (!RegExp(r'^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)+$')
.hasMatch(applicationId)) {
return ValidationResult.error(
'Application ID must use reverse domain notation',
suggestion:
'Use format like com.company.app with lowercase letters and dots',
examples: [
'com.example.myapp',
'org.company.product',
'dev.team.application'
],
);
}
return ValidationResult.success(applicationId);
}