WinForms: Как проверить минимальное количество символов в текстовом поле в C #? - PullRequest
5 голосов
/ 05 декабря 2011

Я пытаюсь убедиться, что пользователь использует как минимум 6 символов в качестве пароля в моей программе.

Я знаю, как установить максимальный размер с помощью MaxLength, но как это сделать для минимумадлина

Ответы [ 4 ]

3 голосов
/ 05 декабря 2011
if (passwordTextBox.Text.Length < 6)
{
    MessageBox.Show("Passwords must be at least 6 characters long.");
    return /*false*/;
}

// Do some stuff...

return /*true*/;
2 голосов
/ 05 декабря 2011

Используйте метод проверки в текстовом поле вашего пароля для определения длины.

        if (TextBox1.Text.Length < 6)
        {
            MessageBox.Show("password too short");
            TextBox1.Focus();
        }
2 голосов
/ 05 декабря 2011

Если у вас будет несколько пользовательских интерфейсов, в которых пользователь может ввести свой пароль (веб, мобильный, клиент Windows и т. Д.) Или предоставит услугу для этого (веб, wcf и т. Д.), То я думаю, что ваш лучший вариант - перехватить этот тип ошибки на самом распространенном уровне для всех этих платформ.

Как правило, мы реализуем бизнес-правила, подобные этим, в базе данных (с помощью хранимых процедур), чтобы у нас было одно общеизвестное место для проверки и изменения этих правил.

Если вы используете базу данных, которая не поддерживает хранимые процедуры, вы можете реализовать эту функцию на «бизнес-уровне» или в наборе кода, отвечающего за выполнение бизнес-логики для вашего приложения.

1 голос
/ 05 декабря 2011

Хотя компетентный_технический подход дает вам мой рекомендуемый подход, примитивное решение будет следующим:

Добавьте метку в форму и введите текст ошибки.

Используйте следующий код для своего текстового поляСобытие KeyDown:

protected override void OnLoad(object sender, EventArgs e)
{
    base.OnLoad(sender, e);

    txtPassword.KeyDown += OnPasswordKeydown;     
}

protected void OnPasswordKeydown(object sender, KeyEventArgs e)
{
    bool isValid = txtPassword.Text.Length < 6;

    ErrorText.Visible = isValid;
    AcceptButton.Visible = isValid;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...