This question already has an answer here:
I'm designing a signup form and got stuck in a ux discussion on how to handle user input error handling. Which would you prefer of the following two scenarios? Or is there a third, better option?
Method 1: The submit button is always enabled. When clicking the submit button the form is either posted (if all fields are correct) or the wrong fields are marked for the user to correct.
Method 2: The submit button is disabled from start. When the user interacts with one of the form fields the rest of the fields are marked (with an error or are just highlighted) in order to emphasize that those fields also have to be filled out. When all fields are filled out correctly the submit button is enabled.