Помните, что реальная проверка должна всегда происходить на сервере. Все, что вы делаете на стороне клиента, - это просто оптимизация, чтобы сэкономить несколько http-циклов.
Самый простой способ синхронизировать проверку на стороне клиента и на стороне сервера с ASP.Net - использовать элементы управления проверкой. Элементы управления проверкой будут выполнять проверку как на стороне клиента, так и на стороне сервера таким образом, что если проверка на клиенте завершится неудачей, она никогда не отправит сообщение на сервер.
Если вы хотите сделать что-то, на что не распространяются стандартные элементы управления валидацией, вы должны либо использовать CustomValidator, либо наследовать свой собственный элемент управления от BaseValidator.