validateForm method

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

Validate the enclosing Form. If scrollToFirstInvalid is true and validation fails, scrolls to the first invalid field.

Implementation

void validateForm({VoidCallback? onSuccess, 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();
    onSuccess?.call();
  } else if (scrollToFirstInvalid) {
    scrollToFirstInvalidField(this);
  }
}