validate method
Validates the form with optional focus and scroll behavior
Implementation
bool validate({
bool focusOnInvalid = true,
bool autoScrollWhenFocusOnInvalid = false,
}) {
if (widget.autovalidateMode ==
ShadAutovalidateMode.alwaysAfterFirstValidation) {
autovalidateMode.value = AutovalidateMode.always;
}
final hasError = !_formKey.currentState!.validate();
if (hasError) {
final wrongFields = _fields.values
.where((element) => element.hasError)
.toList();
if (wrongFields.isNotEmpty) {
if (focusOnInvalid) {
wrongFields.first.focus();
}
if (autoScrollWhenFocusOnInvalid) {
wrongFields.first.ensureVisible();
}
}
}
return !hasError;
}