2010-03-22 6 views
30

MVC 2 DataAnnotations를 사용하여 문자열 필드의 최소 길이를 지정할 수 있습니까?ASP.NET-MVC 2 DataAnnotations StringLength

누구든지이 작업을 수행했거나 사용자 정의 속성을 만들었습니까? 그렇다면 소스를 공유 하시겠습니까?

답변

73

asp.net 4.0을 사용하는 경우 StringLength 속성을 사용하여 최소 길이를 지정할 수 있습니다.

예 :

[StringLength(50, MinimumLength=1)] 
public string MyText { get; set; } 
+2

아니요. 아직 4.0을 사용하고 있지 않습니다. 그렇지만 여기서 일이 일어나는 방식은 아직 오래 가지 않을 것입니다. :) – griegs

+0

FYI .. "게시 중단"("MyText"라는 양식 필드를 게시하지 않음을 의미) 인 경우 해당 속성에 대한 StringLength 유효성 검사가 무시됩니다. 유사한 속성 (RequiredAttribute)을 사용하여이 시나리오를 설명하는 [다음 기사] (http://bradwilson.typepad.com/blog/2010/01/input-validation-vs-model-validation-in-aspnet-mvc.html) . – tbehunin

7

는 정규 표현식 속성을 사용합니다. 이것들은 클라이언트 쪽에서도 해석됩니다.

[RegularExpression(Regexes.MinStringLength)] 
public string MyText { get; set; } 

여기에서 Regexes.MinStringLength은 정적 정규 표현식 클래스입니다. 인라인은 다음과 같이 보일 것입니다 :

[RegularExpression(@"^.{5,10}$")] // valid five to ten characters 
public string MyText { get; set; } 
+0

Regexes.MinStringLength는 가정에서 재배 한 것처럼 보입니다. 아마도 다른 정의가 필요없는 예제를 넣을 수 있습니까? 어쩌면 [RegularExpression (". {1}")], 원하는 분 길이에 상관없이 1을 변경합니다. –

+0

죄송합니다. [RegularExpression (". {1,}")] - ref http://msdn.microsoft.com/en-us/library/az24scfc.aspx –

+0

확인 - 업데이트 참조. –

관련 문제