reportNewFormValue<T> method

Future<ValidationResult?>? reportNewFormValue<T>(
  1. T value
)

Implementation

Future<ValidationResult?>? reportNewFormValue<T>(T value) async {
  final formController = Data.maybeOf<FormController>(this);
  if (formController != null) {
    final formEntry = Data.maybeOf<FormEntryState>(this);
    if (formEntry != null) {
      var formKey = formEntry.widget.key;
      if (formKey.isInstanceOf(value) && formEntry._cachedValue != value) {
        formEntry._cachedValue = value;
        final oldState = formController.getState(formKey);
        if (oldState != null) {
          if (oldState.value == value) {
            return null;
          }
        }
        return formController.attach(
            this, formKey, value, formEntry.widget.validator);
      }
    }
  }
  return null;
}