reportNewFormValue<T> method
Reports a new value to the form and triggers validation.
Parameters:
value(T?, required): The new field value.
Returns: FutureOr<ValidationResult?> — validation result if applicable.
Implementation
@override
FutureOr<ValidationResult?> reportNewFormValue<T>(T? value) {
bool isSameType = widget.key is DynamicFormKey || widget.key.type == T;
if (!isSameType) {
var parentLookup = Data.maybeFind<FormFieldHandle>(context);
assert(parentLookup != this, 'FormEntry cannot be its own parent');
return parentLookup?.reportNewFormValue<T>(value);
}
var cachedValue = _cachedValue;
if (cachedValue != null && cachedValue.value == value) {
return _validity.value;
}
_cachedValue = _FormEntryCachedValue(value);
return _controller?.attach(context, this, value, widget.validator);
}