Submit with errors → toast + messages under the fields. Submit clean → validator:submit fires and the FormData lands here (this is where the app would call g.fetch).
validator:submit
g.fetch
(nothing submitted yet)
Choose how you want to log out: