I have a form with a few fields in them. I wish to validate all of them before I could submit the details entered. For example, First Name should have atleast 1 character. Email should match the Email-format. Password should be atleast 6 characters and so on...
Based on the validation, I have to put a green-right-tick or a red-cross symbol at the end of the field.
I'm working on an android app, but I think a similar problem could occur in a web app too.
Now, my question is when should I validate the fields? By validating, I mean either I put the right-tick or, the wrong-cross with Error Message. Here are the options that I'm considering right now:
I validate them with every keystroke.
I validate a particular field when focus from that field goes away. That's when the user is done typing into that field.
I start validating when a user pauses typing for sometime, say 0.5 seconds.
I know the question might be opinion-based, but from the perspective of an End user, what would be the best experience? Please add more options as well, if we can have something better than the above 3 options.