validateForm method

bool validateForm({
  1. VoidCallback? onValidated,
  2. bool scrollToFirstInvalid = false,
})

Validate the enclosing Form, and save it if valid. Returns whether the form is valid, like FormState.validate. onValidated is called if the form is valid, after it has been saved. If scrollToFirstInvalid is true and validation fails, scrolls to the first invalid field.

Implementation

bool validateForm({VoidCallback? onValidated, bool scrollToFirstInvalid = false}) {
  // Clear current focus
  clearFocus();

  // Find closest Form ancestor
  // Throw if no Form ancestor is found
  final form = Form.of(this);

  // Validate form
  if (form.validate()) {
    form.save();
    onValidated?.call();
    return true;
  }

  if (scrollToFirstInvalid) scrollToFirstInvalidField(this);
  return false;
}