disabled – What is better: disable next button if the form is not filled or enable it and outline the inputs?

Start by making it absolutely clear which fields are mandatory. The border on the fields might be blue (before turning red), they can be on a different section, their titles can be bolded… See what fits the page best, but in my experience, just the “*” mark is too small to be noticed.

The fields could also benefit from validation on “out of focus”. So if a user has it on focus and then leaves it empty or with invalid info, he/she gets the red border, warning or whatever you’re gonna use to point it out.

I don’t believe there is a clear cut answer on what is always best regarding form confirmation buttons and their relationship with mandatory fields.

My opinion is that pushing a button expecting something to happen and then getting a message, even a nice one, saying “WRONG!” is a bit frustrating. On the other hand, trying to push a button and then noticing the button is there, it says “Do thing” but can’t be pushed to do said thing is also not the best.

Maybe you can place a message like “Please fill all required fields to continue” where the disabled button would be. This message then changes to show the confirmation button when all required fields are filled appropriately (ideally with a nice smooth transition).