У меня есть 3-х уровневая система представления, логики и доступа к данным.На моем логическом уровне у меня есть метод Validate (), который гарантирует, что данные, которые должны быть перенаправлены на уровень доступа к данным, действительны для базы данных (нет нулей, где недопустимы нулевые значения и т. Д.).
Кроме того, на уровне представления .aspx у нас есть удобная проверка и проверка ошибок, непосредственно проверяющая элементы управления в веб-форме.Моя проблема заключается в методе ValidateInput () в коде, который проверяет элементы управления, он состоит из нескольких сотен строк и действительно раздражает в обслуживании.Код для проверки данных намного длиннее, чем код, выполняющий реальную работу.
То, что у меня получилось, выглядит следующим образом:
private List<string> ValidateInput()
{
List<string> errormessages = new List<string>();
if (LastNameETextBox.Text.Trim() == String.Empty)
{
errormessages.Add("Last name required.");
}
if (FirstNameETextBox.Text.Trim() == String.Empty)
{
errormessages.Add("First name required.");
}
//etc. etc.
}
У нас есть приятное стилизованное окно уведомленийскрытый в главной странице, который превращается из Visible false в true, когда мы его называем, создавая «иллюзию» наложенного прямоугольника.Это выглядит очень хорошо и работает очень хорошо, поэтому мы хотим использовать его.Идея состоит в том, что мы собираем все ошибки для всей формы, помещаем их в список, а затем отправляем этот список в окно уведомлений, которое затем выдает все ошибки в одном удобном списке.
НоValidate () - это просто мучительное количество утверждений «если», и его трудно отследить.Это просто природа проверки ввода или есть какой-то другой, лучший способ справиться с этим?