ReactiveFormController class

A smart, fully-reactive form controller.

Manages a collection of ReactiveFields, tracks form-level validity and computes the submitted value map.

final form = ReactiveFormController();
final email = reactiveText(validators: [Validators.email()]);
final password = reactiveText(validators: [Validators.password()]);

form.add('email', email);
form.add('password', password);

// In builder:
ValueListenableBuilder(
  valueListenable: form.valid,
  builder: (context, valid, _) => PrimaryButton(
    label: 'Submit', onPressed: valid ? () => form.submit() : null,
  ),
)
Inheritance

Constructors

ReactiveFormController()

Properties

hashCode → int
The hash code for this object.
no setterinherited
hasListeners → bool
Whether any listeners are currently registered.
no setterinherited
isValid → bool
Whether all fields are currently valid.
no setter
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
valid → ValueNotifier<bool>
Observable form-level validity.
no setter
values → Map<String, dynamic>
Collects the current values keyed by field name.
no setter

Methods

add(String name, ReactiveField field) → void
Adds a field under name and registers listeners.
addListener(VoidCallback listener) → void
Register a closure to be called when the object changes.
inherited
dispose() → void
Discards any resources used by the object.
override
field(String name) → ReactiveField
Returns the field registered under name.
fieldOf<T>(String name) → ReactiveField<T>
Returns a typed view of a field registered under name.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
notifyListeners() → void
Call all the registered listeners.
inherited
removeListener(VoidCallback listener) → void
Remove a previously registered closure from the list of closures that are notified when the object changes.
inherited
reset() → void
Resets every field to its initial value.
submit() → bool
Validates every field. Returns true when valid, otherwise false.
toString() → String
A string representation of this object.
inherited
validate() → void
Re-validates every field and refreshes form validity.

Operators

operator ==(Object other) → bool
The equality operator.
inherited