Oct 31, 2013 02:58 AM|Fuxiang Zhang - MSFT|LINK
I'm glad to you post the issue to asp.net forum.
From your code, I see that you are using the ValidatorCalloutExtender
And it will not show the correct validate message just show the "This control is invalid".
This is a known issue, the ValidatorCalloutExtender
get error message at initialize then the MaskEditValidator will modifies error message during the execution.
Please check the solution provided by FernandoCerqueira
in below thread.
In my mind, I'd like to suggest you use the normal aspx validate control not the ajax control.
There is same issue.
Hope this helps. Thanks.