String? timeValidator(String? value) { if (value == null || value.isEmpty) return null; if (RegExp(r'^([0-1]?[0-9]|2[0-3]):[0-5][0-9]$').hasMatch(value)) { return null; } return 'Not a valid time format'; } String? dateTimeValidator(String? value) { if (value == null || value.isEmpty) return null; return DateTime.tryParse(value) != null ? null : 'Not a date format'; } String? coordinatesValidator(String? value) { if (value == null || value.isEmpty) return null; if (RegExp(r'^\d+\.?\d*, *\d+\.?\d*$').hasMatch(value)) { return null; } return 'Not a valid coordinate format'; } String? notEmptyValidator(String? value) { if (value != null && value.isNotEmpty) return null; return 'Can\'t be empty'; }