2011-12-05 19 views
5

ユーザーが自分のプログラムでパスワードとして少なくとも6文字を使用していることを確認しようとしています。WinForms:C#のテキストボックスの最小文字数を確認するには?

私はMaxLengthを使用して最大サイズを設定する方法を知っていますが、これを最小長でどのように行うのですか?

+2

は、あなたのテキストボックスのKeyDownイベントに次のコードを使用しますか? –

+0

@Terry Donaghe:WinForms。私は自分のタグを変更しました。 – HelpNeeder

答えて

1

competent_techはあなたに私の推奨されるアプローチを与えるが、原始的なソリューションは、次のようになります。

は、フォーム上のラベルを削除し、それをERRORTEXTを与えます。あなたは、Windowsフォーム、ASPX、HTML、WPF、Silverlightを話し

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; 
} 
+1

どうやってこれを使うのか分かりません。 KeyDownイベントの目的は何ですか? – HelpNeeder

+0

KeyDownイベントは、テキストボックスにキーを入力するたびに発生します。フォームにパスワードのテキストボックスをドロップしてダブルクリックしてください。これにより自動的にKeyDownイベントハンドラが作成されます – Polity

+1

これを使用するために追加する必要があるネームスペースは何ですか? – HelpNeeder

2

パスワード(Web、モバイル、Windowsクライアントなど)を入力できる複数のユーザーインターフェイスを使用する場合や、同じ作業(web、wcfなど)を行うサービスを提供する場合は、あなたの最善の選択肢は、これらのプラットフォームすべてに対して最も一般的なレベルでこのタイプのエラーをキャッチすることです。

一般に、これらのルールをチェックして変更するための既知の場所が1つあるように、ストアドプロシージャを使用してこのようなビジネスルールをデータベースに実装します。

ストアドプロシージャをサポートしていないデータベースを使用している場合は、この機能をビジネスレイヤーまたはアプリケーションのビジネスロジックを実行するコードセットに実装できます。

1

パスワードのテキストボックスに検証方法を使用して、長さを適用します。

 if (TextBox1.Text.Length < 6) 
     { 
      MessageBox.Show("password too short"); 
      TextBox1.Focus(); 
     } 
+0

例を投稿できますか?文字列の長さをチェックする方法がわかりません。 – HelpNeeder

+0

+1のフォーカス。役に立つかもしれない:) – HelpNeeder

3
if (passwordTextBox.Text.Length < 6) 
{ 
    MessageBox.Show("Passwords must be at least 6 characters long."); 
    return /*false*/; 
} 

// Do some stuff... 

return /*true*/; 
+0

私のために働く!ありがとう! – HelpNeeder

+1

通常、パスワードでも、_all_テキストボックスの値に 'string.Trim()'を実行して、ユーザーが入力した誤った空白が無視されるようにします。 –

+0

確かにパスワードに含まれる文字数、!= usernameなどのパスワードを検証する必要があります。私はちょうど最小の長さの問題を助けようとしています。 – rfmodulator

関連する問題