rangeItems<T extends Iterable<Object?> > function
Creates a validator that fails when an Iterable collection item count is outside [minN, maxN].
Returns message (or 'Must have between $minN and $maxN items.' by default).
final attachments = BloomTypedFormField<List<String>>(
initialValue: [],
validators: [rangeItems(1, 3, 'Select between 1 and 3 items.')],
);
Implementation
String? Function(T) rangeItems<T extends Iterable<Object?>>(int minN, int maxN,
[String? message]) =>
(v) => (v.length < minN || v.length > maxN)
? (message ?? 'Must have between $minN and $maxN items.')
: null;