FormControl<T> class Null safety

Tracks the value and validation status of an individual form control.

Inheritance
Available Extensions

Constructors

FormControl({T? value, List<ValidatorFunction> validators = const [], List<AsyncValidatorFunction> asyncValidators = const [], int asyncValidatorsDebounceTime = 250, bool touched = false, bool disabled = false})
Creates a new FormControl instance.

Properties

asyncValidators List<AsyncValidatorFunction>
The list of async functions that determines the validity of this control.
read-only, inherited
dirty bool
A control is dirty if the user has changed the value in the UI.
read-only, inherited
disabled bool
A control is disabled when its status is ControlStatus.disabled.
read-only, inherited
enabled bool
A control is enabled as long as its status is not ControlStatus.disabled.
read-only, inherited
errors Map<String, Object>
An object containing any errors generated by failing validation, or empty Map if there are no errors.
read-only, inherited
focusChanges Stream<bool>
A ChangeNotifier that emits an event every time the focus status of the control changes.
read-only
focusController FocusController?
Gets the focus controller registered with in this control.
read-only
hasErrors bool
True whether the control has validation errors.
read-only, inherited
hasFocus bool
True if the control is marked as focused.
read-only
hashCode int
The hash code for this object.
read-only, inherited
invalid bool
A control is invalid when its status is ControlStatus.invalid.
read-only, inherited
parent AbstractControl<Object>?
The parent control.
read / write, inherited
pending bool
A control is pending when its status is ControlStatus.pending.
read-only, inherited
pristine bool
A control is pristine if the user has not yet changed the value in the UI.
read-only, inherited
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited
status ControlStatus
The validation status of the control.
read-only, inherited
statusChanged Stream<ControlStatus>
A Stream that emits the status every time it changes.
read-only, inherited
touchChanges Stream<bool>
A Stream that emits an event every time the control is touched or untouched.
read-only, inherited
touched bool
Gets if the control is touched or not.
read-only, inherited
valid bool
A control is valid when its status is ControlStatus.valid.
read-only, inherited
validators List<ValidatorFunction>
The list of functions that determines the validity of this control.
read-only, inherited
value ↔ T?
The current value of the control.
read / write, inherited
valueChanges Stream<T?>
A Stream that emits the value of the control every time it changes.
read-only, inherited

Methods

allControlsDisabled() bool
Returns true if all children disabled, otherwise returns false.
@protected, inherited
anyControls(bool condition(AbstractControl)) bool
override
anyControlsHaveStatus(ControlStatus status) bool
Returns true if all children has the specified status, otherwise returns false.
@protected, inherited
clearAsyncValidators() → void
Empties out the async validator list.
inherited
clearValidators() → void
Empties out the sync validator list.
inherited
dispose() → void
Disposes the control
override
findControl(String path) AbstractControl
override
focus() → void
Sets focus on a ReactiveFormField widget without the interaction of the user.
override
forEachChild(void callback(AbstractControl)) → void
override
getError(String errorCode, [String? path]) Object?
Returns the error data for the control with the given errorCode in the given path.
inherited
hasError(String errorCode, [String? path]) bool
Reports whether the control with the given path has the specified errorCode.
inherited
markAllAsTouched({bool updateParent = true, bool emitEvent = true}) → void
Marks the control and all its descendant controls as touched.
inherited
markAsDirty({bool updateParent = true, bool emitEvent = true}) → void
Marks the control as dirty.
inherited
markAsDisabled({bool updateParent = true, bool emitEvent = true}) → void
Disables the control.
inherited
markAsEnabled({bool updateParent = true, bool emitEvent = true}) → void
Enables the control. This means the control is included in validation checks and the aggregate value of its parent. Its status recalculates based on its value and its validators.
inherited
markAsPristine({bool updateParent = true}) → void
Marks the control as pristine.
inherited
markAsTouched({bool updateParent = true, bool emitEvent = true}) → void
Marks the control as touched.
inherited
markAsUntouched({bool updateParent = true, bool emitEvent = true}) → void
Marks the control as untouched.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed.
inherited
patchValue(T? value, {bool updateParent = true, bool emitEvent = true}) → void
Patches the value of a control.
override
reduceValue() → T?
override
registerFocusController(FocusController focusController) → void
Registers a focus controller.
removeError(String key, {bool markAsDirty = false}) → void
Removes an error given the error key.
inherited
reset({T? value, bool updateParent = true, bool emitEvent = true, bool removeFocus = false, bool? disabled}) → void
Resets the control, marking it as untouched, pristine and setting the value to null.
inherited
setAsyncValidators(List<AsyncValidatorFunction> validators, {bool autoValidate = false, bool updateParent = true, bool emitEvent = true}) → void
Sets the async validators that are active on this control. Calling this overwrites any existing async validators.
inherited
setErrors(Map<String, dynamic> errors, {bool markAsDirty = true}) → void
Sets errors on a form control when running validations manually, rather than automatically.
inherited
setValidators(List<ValidatorFunction> validators, {bool autoValidate = false, bool updateParent = true, bool emitEvent = true}) → void
Sets the synchronous validators that are active on this control. Calling this overwrites any existing sync validators.
inherited
toString() String
A string representation of this object.
inherited
unfocus({bool touched = true}) → void
Remove focus on a ReactiveFormField widget without the interaction of the user.
override
unregisterFocusController(FocusController focusController) → void
Removes the provided focusController from the control.
updatePristine({bool updateParent = true}) → void
@protected, inherited
updateTouched({bool updateParent = true}) → void
@protected, inherited
updateValue(T? value, {bool updateParent = true, bool emitEvent = true}) → void
Sets the value of the FormControl.
override
updateValueAndValidity({bool updateParent = true, bool emitEvent = true}) → void
Recalculates the value and validation status of the control.
inherited

Operators

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