Как реализовать проверку входных данных при нажатии кнопки?

Хочу реализовать проверку корректности всех входных данных в поля регистрации и после нажатия на кнопку Registration, чтобы в методе проверялись все входные данные на корректность и далее шёл переход на форму Login.

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

Пытался закостылить через булеву переменную, но костыль не прошёл

Сам проект

Проект делаю на EF Core с использованием MS Sql

P.s. Код слишком оказался громоздким и его сюда не пускает, ибо слишком много символов.
  • Вопрос задан
  • 374 просмотра
Решения вопроса 1
mindtester
@mindtester Куратор тега C#
http://iczin.su/hexagram_48
Хочу реализовать проверку корректности всех входных данных в поля регистрации и после нажатия на кнопку Registration
ход мыслей понятен, типичен для новичка. но не лучший
поясню:
для проверки корректности вводимых данных в любых полях, общепринято делать валидацию (по ссылке частный случай. все это есть и в WinForms, и в WPF, и в UWP, и в вебинтерфейсе) после ввода, или даже по мере ввода.
код не смотрел вообще, по причине изначально неудачного подхода к проблеме проверки корректности upd пользовательского ввода данных. для этого процесса есть устоявшийся термин - валидация.
upd ну и устоявшиеся же приемы, которые, в случае C#, компания Microsoft, любезно предоставляет нам, что называется из коробки, для большинства основных сценариев разработки десктоп приложений
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@evgenysemashko Автор вопроса
Вот решение для одного из боксов
public bool IsNameValid(string name)
        {
            bool valid = false;
            Regex check = new Regex(@"^([A-Z][a-z-A-z]+)$");
            valid = check.IsMatch(name);

            if (valid == true)
            {
                return valid;
            }
            else
            {
                return valid;
            }
        }

        private void nameBox_TextChanged(object sender, EventArgs e)
        {
            TextChange(sender, e);
        }

        private void nameBox_Validating(object sender, CancelEventArgs e)
        {
            if (!IsNameValid(nameBox.Text))
            {
                inputincorrect.SetError(nameBox, "Invalid name");
            }
            else
            {
                inputincorrect.SetError(nameBox, null);
            }
        }


Сама проверка в кнопке

if (IsNameValid(nameBox.Text) == true && // ещё проверки)
           {
                // какой-то код
            }
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы