private void AuthorText_Validating(object sender, CancelEventArgs e) { try { AuthorText.CausesValidation = false; string author = AuthorText.Text; if (author == "") { throw new Exception("Author can't be empty"); } } catch (Exception exception) { e.Cancel = true; AuthorErrorProvider.SetError(AuthorText, exception.Message); } }
private void AuthorText_Validated(object sender, EventArgs e) { AuthorErrorProvider.SetError(AuthorText, ""); }
private bool ValidateForm() { bool result = true; MusicAlbumsGuideDB context = new MusicAlbumsGuideDB(); if (string.IsNullOrEmpty(NameTextBox.Text) || NameTextBox.Text == "Введите имя альбома" || NameTextBox.Text == " ") { NameErrorProvider.SetError(NameTextBox, "Поле имени должно быть заполнено"); if (result == true) { result = false; } } else { if (NameTextBox.Text.Length > 40) { NameErrorProvider.SetError(NameTextBox, "Слишком длинное имя альбома"); if (result == true) { result = false; } } else { NameErrorProvider.Clear(); } } List <Album> albums = context.Albums.Include(p => p.Author).ToList(); List <string> names = new List <string>(); foreach (var album in albums) { names.Add(album.Name); } if (string.IsNullOrEmpty(GenreComboBox.Text) || GenreComboBox.Text == "Выберите жанр альбома" || GenreComboBox.Text == " ") { GenreErrorProvider.SetError(GenreComboBox, "Поле жанра должно быть заполнено"); if (result == true) { result = false; } } else { GenreErrorProvider.Clear(); } if (string.IsNullOrEmpty(AuthorTextBox.Text) || AuthorTextBox.Text == "Введите автора альбома" || AuthorTextBox.Text == " ") { AuthorErrorProvider.SetError(AuthorTextBox, "Поле автора должно быть заполнено"); if (result == true) { result = false; } } if (names.Contains(NameTextBox.Text)) { List <Album> find = albums.Where(p => p.Name == NameTextBox.Text && p.Author.Name == AuthorTextBox.Name).ToList(); if (find.Count != 0) { AuthorErrorProvider.SetError(NameTextBox, "Альбом с таким именем у данного автора уже существует"); } if (result == true) { result = false; } } else { AuthorErrorProvider.Clear(); } if (string.IsNullOrEmpty(ReleaseYearTextBox.Text) || ReleaseYearTextBox.Text == "Введите год выпуска альбома" || ReleaseYearTextBox.Text == " ") { ReleaseYearErrorProvider.SetError(ReleaseYearTextBox, "Поле года релиза должно быть заполнено"); if (result == true) { result = false; } } else { int res; bool isInt = Int32.TryParse(ReleaseYearTextBox.Text, out res); if (!isInt) { ReleaseYearErrorProvider.SetError(ReleaseYearTextBox, "Поле года должно быть целым числом"); if (result == true) { result = false; } } else if (res > DateTime.Now.Year) { ReleaseYearErrorProvider.SetError(ReleaseYearTextBox, "Год не должен быть больше текущего"); if (result == true) { result = false; } } else if (res < 1000) { ReleaseYearErrorProvider.SetError(ReleaseYearTextBox, "Введите корректный год"); if (result == true) { result = false; } } else { ReleaseYearErrorProvider.Clear(); } } if (string.IsNullOrEmpty(TypeComboBox.Text) || TypeComboBox.Text == "Выберите тип альбома" || TypeComboBox.Text == " ") { TypeErrorProvider.SetError(TypeComboBox, "Поле типа альбома должно быть заполнено"); if (result == true) { result = false; } } else { TypeErrorProvider.Clear(); } if (string.IsNullOrEmpty(CarrierComboBox.Text) || CarrierComboBox.Text == "Выберите тип носителя альбома" || CarrierComboBox.Text == " ") { CarrierTypeErrorProvider.SetError(CarrierComboBox, "Поле типа носителя альбома должно быть заполнено"); if (result == true) { result = false; } } else { CarrierTypeErrorProvider.Clear(); } if (string.IsNullOrEmpty(TrackCountTextBox.Text) || TrackCountTextBox.Text == "Введите количество дорожек в альбоме" || TrackCountTextBox.Text == " ") { TrackCountErrorProvider.SetError(TrackCountTextBox, "Поле количнства дорожек должно быть заполнено"); if (result == true) { result = false; } } else { int res; bool isInt = Int32.TryParse(TrackCountTextBox.Text, out res); if (!isInt) { TrackCountErrorProvider.SetError(TrackCountTextBox, "Количество дорожек должно быть целым числом"); if (result == true) { result = false; } } else if (res <= 0) { TrackCountErrorProvider.SetError(TrackCountTextBox, "Количетсов дорожек не может быть равно или меньше нуля"); if (result == true) { result = false; } } else { TrackCountErrorProvider.Clear(); } } if (string.IsNullOrEmpty(ReleaseLabelTextBox.Text) || ReleaseLabelTextBox.Text == "Введите название выпускающего лэйбла" || ReleaseLabelTextBox.Text == " ") { ReleaseLabelErrorProvider.SetError(ReleaseLabelTextBox, "Поле выпускающего лэйбла должно быть заполнено"); if (result == true) { result = false; } } else { ReleaseLabelErrorProvider.Clear(); } return(result); }