2010-12-14 8 views
2

사용자가 일부 데이터를 입력 한 후 제출을 클릭하는 양식이 있다고 가정 해 보겠습니다. 나는 뒤에 코드에서 필드의 길이를 확인하기 위해 몇 가지 확인을하고 그들이 이름을 잊어 버린 경우 나 레이블의 텍스트를 설정합니다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 (siteName.Length == 0) 
     { 
      lblErrorCreateSite.Text = "A Site Name is required.<br/>"; 
     } 
     if (siteDescription.Length == 0) 
     { 
      lblErrorCreateSite.Text = lblErrorCreateSite.Text + "A description is required."; 
     } 

을 할 수있는 실현되는?

+4

OP가 자신의 질문에 답변 한 이후 + = ... –

+1

투표를 종료 할 수도 있습니다. – 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(); 
관련 문제