isValidEngineerID static method
- String engineerId
Validates Spanish Engineer ID (Colegiado).
Format: COITI/COGITI standard format
- Provincial: "MAD-12345", "BCN-54321" (2-3 letter province + hyphen + 3-10 digits)
- Alternative: Letters followed by digits "ABC12345"
Examples:
- ✅ Valid: "MAD-12345", "BCN-987", "COITI-12345", "ABC1234"
- ❌ Invalid: "---123", "ABC", "12345" (no letters), "A-B-C-1-2-3"
Implementation
static bool isValidEngineerID(String engineerId) {
if (engineerId.isEmpty) return false;
// Strict format: Province code (2-5 letters) + hyphen + 3-10 digits
// OR: Letters (2-5) followed directly by 3-10 digits
final strictFormat = RegExp(r'^[A-Z]{2,5}-\d{3,10}$');
final alternateFormat = RegExp(r'^[A-Z]{2,5}\d{3,10}$');
return strictFormat.hasMatch(engineerId.toUpperCase()) ||
alternateFormat.hasMatch(engineerId.toUpperCase());
}