passes method
Validates the value using the given context.
Returns true if valid, otherwise false.
Implementation
@override
FutureOr<bool> passes(ValidationContext context) async {
final value = context.value;
if (value == null) return false;
if (!await FileRule().passes(context)) return false;
final allowedMimes = [
'image/jpeg',
'image/png',
'image/gif',
'image/bmp',
'image/webp',
'image/svg+xml',
];
if (value is UploadedFile) {
return _isImage(value, allowedMimes);
}
if (value is List<UploadedFile>) {
for (final file in value) {
if (!await _isImage(file, allowedMimes)) return false;
}
}
return true;
}