Похоже, вы не правильно используете валидаторы. Вы не можете полагаться на проверку на стороне клиента, чтобы убедиться, что ваши входные данные в порядке - вам нужно проверить как на стороне клиента, так и на стороне сервера. Если пользователь отключит javascript, тогда проверка на стороне клиента вообще не будет выполняться, поэтому, если вы также не проверяете сервер, вы просто вставляете их необработанные данные в базу данных.
Сообщения проверки должны появиться после обратной передачи, чтобы сообщить вам, когда были недопустимые входы - это их основная функция. Сообщения на стороне клиента, которые появляются до публикации, просто удобны для браузеров с поддержкой JavaScript.
Прежде чем вставить что-либо в базу данных, вам необходимо проверить все валидаторы, используя этот шаблон:
if (Page.IsValid)
{
// Insert into database
}
Если валидаторы недействительны, страница вернется без вставки чего-либо и отобразит сообщения валидатора. Если все действительно верно, то сообщения не будут отображаться, но независимо от того, какой код вы запускаете, сообщения будут отображаться, если ввод был неверным.