BloomFormGroup class
Reactive controller for a nested group of named form controls.
Implements BloomFormControl so nested groups can be composed hierarchically within BloomForm or BloomFieldArray.
final addressGroup = BloomFormGroup({
'street': BloomFormField(validators: [required()]),
'city': BloomFormField(validators: [required()]),
});
- Implemented types
Constructors
-
BloomFormGroup(Map<
String, BloomFormControl> fields, {List<String? Function(Map< validators = const [], List<String, dynamic> )>Future< asyncValidators = const [], Duration asyncDebounce = const Duration(milliseconds: 300)})String?> Function(Map<String, dynamic> values)> -
Creates a BloomFormGroup managing the given map of named
fields.
Properties
- asyncDebounce → Duration
-
Debounce duration applied when validateAsync is called with
debounce: true.final -
asyncValidators
→ List<
Future< String?> Function(Map<String, dynamic> values)> -
Optional group-level asynchronous validators evaluated against the raw value map.
final
-
errors
↔ Signal<
List< String> > -
Reactive signal containing group-level validation errors.
latefinaloverride-getter
-
fields
→ Map<
String, BloomFormControl> -
Map of all registered child controls.
no setter
- hashCode → int
-
The hash code for this object.
no setterinherited
-
isDirty
↔ ReadonlySignal<
bool> -
Computed signal returning
truewhen at least one child control'sisDirtyistrue.latefinaloverride-getter -
isTouched
↔ Signal<
bool> -
Reactive signal indicating whether this group has been touched.
latefinaloverride-getter
-
isValid
↔ ReadonlySignal<
bool> -
Computed signal returning
truewhen every child control'sisValidistrueand group-level errors is empty.latefinaloverride-getter -
isValidating
↔ ReadonlySignal<
bool> -
Reactive signal indicating whether group-level or child-level validation is currently running.
latefinaloverride-getter
-
rawValue
→ Map<
String, dynamic> -
Untyped structured map of all child values.
no setteroverride
-
rawValues
→ Map<
String, dynamic> -
Snapshot map of all child values keyed by field name.
no setter
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
validators
→ List<
String? Function(Map< String, dynamic> )> -
Optional group-level synchronous validators evaluated against the raw value map.
final
-
values
→ Map<
String, String> -
Snapshot map of string representations of child values.
no setter
Methods
-
getControl<
T extends BloomFormControl> (String name) → T -
Returns the registered control under
nametyped asT. -
getField(
String name) → BloomFormField -
Returns the BloomFormField registered under
name. -
getValue(
String name) → String -
Returns the string value of the field registered under
name. -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
reset(
) → void -
Resets all child controls to their initial values and clears errors and isTouched.
override
-
toString(
) → String -
A string representation of this object.
inherited
-
touch(
) → void -
Marks this group and all its child controls as touched.
override
-
validate(
) → bool -
Runs group-level validators and validate on every child control.
override
-
validateAsync(
{bool debounce = false}) → Future< bool> -
Asynchronously validates all child controls and evaluates group-level asyncValidators.
override
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited