Sorry, my bad then, I thought it's fired before onValidate. Should've checked that.
Yes, the initial order is always validate → submit. An onSubmit listener can purposely kick back the form to the validate step, but then it goes through validate → submit again.