When using a button with buttonType="submit", all the validateable fields will get their checkValidity() method called, which makes them display our custom version of validity state.
If any field is not valid, form submission is prevented.
If any field is invalid, the first invalid fied is scrolled into view and focused.