asAsyncValidator method
Creates a validator function compatible with SmartTextFormField.
Falls back to fallbackValidator when the model isn't loaded.
Implementation
Future<String?> Function(String?) asAsyncValidator({
String? Function(String?)? fallbackValidator,
}) {
return (String? value) async {
if (value == null || value.isEmpty) return null;
if (!_isReady) {
// Try to initialize on first use
try {
await initialize();
} catch (_) {
return fallbackValidator?.call(value);
}
}
final result = await validate(value);
if (!result.isAvailable) {
return fallbackValidator?.call(value);
}
return result.isValid ? null : result.errorMessage;
};
}