Валидация данных в коде приложения или в базе данных

196
30 марта 2018, 10:09

Если в колонку с типом CHAR(50) вставить строку, длина которой превышает 50 символов, то MySQL вернёт ошибку

Вопрос: Нужно ли проводить валидацию длины вставляемых строк в серверном коде приложения, чтобы не нагружать MySQL дополнительной работой или же пусть этим занимается MySQL(как в примере выше)?

Answer 1

Чем раньше ошибка обнаруживается, тем дешевле ее обработка

  • Если клиент не сможет ввести более 50 символов, то он не отправит вам некорректные данные
  • Если сервер обнаружит некорректное значение, то он сможет внятно объяснить клиенту, что не так
  • Валидация на уровне базы нужна, чтобы невозможно было вставить некорректное значение

Общепринятой практикой считается наличие всех трех уровней проверок. Тем более, что проверку на уровне БД Вы отключить не сможете никак.

READ ALSO
Классы c#. Как создать поле список

Классы c#. Как создать поле список

как создать поле в классе на c#,чтобы этим полем был список? вот пример

291
Почем type.GetProperties() возвращает пустой массив?

Почем type.GetProperties() возвращает пустой массив?

Пытаюсь получить доступ к перечислению через рефлексиюОжидаю, что GetProperties() выдаст массив с моим перечислением

213
Сохранение результатов в БД C#

Сохранение результатов в БД C#

Подскажите пожалуйста, необходимо результаты выполнения программы записывать в базу данныхА точнее на фотографии определяется пол и возраст...

201