The problem is that it is right: whatever you type to startwith will not be a valid email.
Think about it: Your email is "abc@def.ghi"
When you type 'a' that isn't valid.
When you add 'b' it still isn't valid.
If only becomes valid when at least two characters have been typed after the '.'!
"abc@def.gh" is technically a valid email, although it probably won't go anywhere useful.
You can't check for a valid email until the user has finished entering it: so either do your check and show a message box when he leaves the textbox (that's what the
Validating event[
^] is there for), or use a label near the textbox to show "invalid email address" instead.
But do be aware the email addresses can be more complicated than your seem to think: This would pass your validation but not be valid: "a.com@" while these would not: "abc@talktalk.net", "abc.def.co.uk", "abc@usa.gov".
Try using a Regex:
regex for valid email - Google Search[
^] - it;'s probably the simplest way to do a basic check of "OKness", though the only way to be sure it's a "real address" is to send an email that requires a link to be followed.