2017-06-02 4 views
-1

「NR」という2つの単語だけを入力できるテキストボックスの妥当性を検証する方法と、ユーザーが12未満の長さの文字を入力できるようにする方法。私は正規表現を使いたくない。エラーメッセージを表示するためにラベルを使用できますか?私はすでにこれを試したが、仕事はしなかった。私はtextchangedイベントにこのコードを配置:テキストボックスの長さと特定の単語の妥当性確認

if ((TextBoxJO.Text != "NR") || (TextBoxJO.Text.Length != 12)) 
{ 
    LabelMessageJO.visible = true; 

    LabelMessageJO.Text = "Wrong format"; 
    Button_Add.Enabled = false; 
} 
else 
{ 
    LabelMessageJO.Visible = false; 
} 
+0

許可されている入力が何を想定しているのかはっきりしていません。「NR」と「12文字未満」という2つの単語を入力できるとします。あなたの言葉のようなものですか?あるいは「NR」「OR」「<まったく12文字>」(あなたのコードが言うことです)を意味しますか? –

+0

はい.th th eyはNRか12文字まで入力できます。可能です ? – NFH

+0

はい、 '!='を '>'に変更してください。しかし、あなたは "NR"が12文字未満であるので、それはすでに第2の条件に該当することを認識していますか?とにかく* * 12文字まで許可する場合は、チェックする必要はありません。 –

答えて

0

は、コード内で間違ったことがいくつかあります:

  • TextBoxJO.Text != "NR"は、テキストボックスとすぐあなたが何かを追加すると、正確に= "NR"なければならないことを意味します"NR"の後、そのFalse。
  • 代わりに!TextBoxJO.Text.StartsWith("NR")を確認する必要があります。
  • LabelMessageJO.visible = true;visible部分は、上記のコードは、12未満の文字である "NR" で始まるものを受け入れるべきVisible

    if ((!TextBoxJO.Text.StartsWith("NR")) || (TextBoxJO.Text.Length >= 12)) 
        { 
         Button_Add.Enabled = false; 
         LabelMessageJO.Text = "Wrong format"; 
         LabelMessageJO.Visible = true; 
        } 
        else 
        { 
         LabelMessageJO.Visible = false; 
         Button_Add.Enabled = true; 
        } 
    

であるべきです。

"NR123456789"が有効です。

"N12345678"は2番目の場所に "R"がないため無効です。それはな長さだから

「NR1234567890は」= 12、無効になります(あなたが有効であるとの長い12個の文字をしたい場合は、単にTextBoxJO.Text.Length >= 12

+0

いいえ。これは私が望むものではありません。私はユーザーがERを入力した場合、それは無効になります、あなたは正確にNRを入力することができますしたい。ユーザーは12文字を入力することもできます。文字はNRで始まらない。 12文字はいずれかのFU1234567R89 :)可能ですか? – NFH

+0

あなたの要件を理解した上でコードを書いたが、5つの有効なケースと5つの無効なケースを追加してコードを調整できるかどうかを調べることができる。そのコードでは、 "ER"は無効とフラグされるためです。文字列は "NR"または "FU"のみで始まるか、他に有効な開始文字列がありますか? –

0

から=記号を削除するには、のCustomValidatorでこれを行うことができます。

<asp:TextBox ID="TextBoxJO" runat="server"></asp:TextBox> 

<asp:CustomValidator ID="CustomValidator1" ControlToValidate="TextBoxJO" 
    ClientValidationFunction="isValidCustomTextBox" runat="server" 
    ErrorMessage="CustomValidator" ValidateEmptyText="true"></asp:CustomValidator> 

<script> 
    function isValidCustomTextBox(oSrc, args) { 
     var value = args.Value; 
     if ((value == "NR") || (value.length == 12 && value.substring(0, 2) != "NR")) { 
      args.IsValid = true; 
     } else { 
      args.IsValid = false; 
     } 
    } 
</script> 
関連する問題