validateDomain function
Implementation
Map<String, dynamic> validateDomain(String domain) {
final parts = domain.split('.');
if (parts.length < 2 || parts[1] != 'xrd') {
return {
'valid': false,
'message': 'Invalid domain extension.',
};
}
if (parts[0].length < 2) {
return {
'valid': false,
'message': 'Domain name must be 2+ characters in length.',
};
}
if (parts[0].length > 65) {
return {
'valid': false,
'message': 'Max domain length is 65 characters.',
};
}
if (domain.contains('_')) {
return {
'valid': false,
'message': 'Special characters are not permitted (except for hyphens).',
};
}
final regex = RegExp(
r'^(([a-zA-Z0-9]{2,})|([a-zA-Z]{1}[a-zA-Z]{1})|([a-zA-Z]{1}[0-9]{1})|([0-9]{1}[a-zA-Z]{1})|([a-zA-Z0-9][a-zA-Z0-9-_]{1,61}[a-zA-Z0-9]))\.xrd$');
if (!regex.hasMatch(domain)) {
return {
'valid': false,
'message': 'Please enter a valid domain name.',
};
}
return {
'valid': true,
'message': '',
};
}