Да, на стороне клиента проверка должна быть автоматической. Есть несколько вещей, которые вы захотите проверить.
Есть ли какой-нибудь другой javascript на странице, который вызывает ошибку и вызывает сбой сценария проверки?
Используете ли вы группы проверки? Если это так, убедитесь, что кнопка отправки включена в эту группу проверки.
Имеет ли для кнопки "Отправить" свойство "CausesValidation" значение false?
Вы уверены, что ваше выражение проверки правильное? Попробуйте загрузить инструмент, такой как Expresso , чтобы убедиться, что ваше выражение работает так, как вы ожидаете, с другим вводом.
Еще один момент, который нужно проверить: валидатор регулярных выражений не запускает пустую строку. Вы тестируете с пустым вводом и ожидаете, что выражение потерпит неудачу? Если это так, попробуйте указать дополнительный обязательный поле-валидатор, чтобы перехватить это дополнительное условие сбоя.
Наконец, вы можете сами вызвать проверку страницы клиента, чтобы проверить, что происходит. Попробуйте разместить временную кнопку на странице с атрибутом OnClientClick, например:
<input type="button" value="Fire Validation" name="foo" onClick="Page_ClientValidate();alert('Valid: '+Page_IsValid);return false;" />
Это запустит проверку проверки на стороне клиента и выдаст предупреждение с результатами проверки.