2010-12-14 7 views
2

私はユーザーがデータを入力してSubmitをクリックするフォームを持っているとします。私は背後にあるコードのフィールドの長さをチェックするために、いくつかの検証を持っているし、彼らは私がラベルにテキストを設定した名前忘れた場合:私も説明と呼ばれるフィールドを持っており、これも空の場合ASP.NET/C#でラベルにテキストを追加しますか?

 if (siteName.Length == 0) 
     { 
      lblErrorCreateSite.Text = "A Site Name is required.<br/>"; 
     } 

を私が追加することができますlblErrorCreateSiteへのエラーメッセージ、または別のラベルを作成する必要がありますか?

 if (siteDescription.Length == 0) 
     { 
      lblErrorCreateSite. // if both name and description is missing add some additional text to the label 
     } 

私は事前にif文(これと、もし...)

感謝の多くを持っているよりも、もっと簡単な方法がありますかどうかをチェックしています。

編集: 私はちょうど私が

 if (siteName.Length == 0) 
     { 
      lblErrorCreateSite.Text = "A Site Name is required.<br/>"; 
     } 
     if (siteDescription.Length == 0) 
     { 
      lblErrorCreateSite.Text = lblErrorCreateSite.Text + "A description is required."; 
     } 

を行うことができます実現しますか?

+4

+ = ... –

+1

OPが自分の質問に答えてから投票を終了することもできます。 – tster

+0

おかげでエティエンヌ、私は忘れていた+ =(これはもっと良く見える) – Peter

答えて

0

あなた自身の答えは問題ありません。エチエンヌの洗練はすてきです。 リストの使用をオプションとして検討することもできます。リストに新しいエラーを追加するたびに、最終的に少しずつ整形できるエラーのリストが表示されます。

別に、asp webformsまたはmvcを使用している場合は、検証エラーのリストを管理するタスクを実行するために使用できるinbuiltバリデーターがあります。詳細を必要としない限り、GoogleまたはSOが必要な情報を提供しない限り、ここで具体的な情報を提供することを控えます。

3

パフォーマンス上の理由から、StringBuilderを使用してエラーメッセージを作成し、出力の構築が完了したらラベルテキストを設定することができます。

var error = new StringBuilder(); 
if(siteName.Length == 0) 
{ 
    error.Append("A Site Name is required.<br/>"); 
} 

// More validation... 

lblErrorCreateSite.Text = error.ToString(); 
関連する問題