I think the better solution for a web page login form specifically is to disable the button "onPressDown", so this error path is impossible.
For users with JS disabled, your solution seems good.