Вот ответ для Windows Forms (вопрос помечен ASP.NET, но, насколько я знаю, такого понятия, как DataGridView для Интернета) не существует:
Обработайте событие RowValidating
и проверьте строку там. Если значения строки недопустимы, установите сообщение об ошибке в свойстве ErrorText
строки и установите e.Cancel = True
.
Наконец, в событии RowValidated
установите для свойства ErrorText
строки пустую строку.