2012-11-16 2 views
29

MVC4 템플리트에서 사용되는 데이터 주석 속성 중 하나는 stringlength입니다. 예를 들어errormessage의 stringlength 속성에는 어떤 매개 변수가 사용됩니까?

:

{0}, {1}, {2} 법적 무엇 매개 변수
[StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)] 

(더?)?

편집 : 예를 들어, 예제와 시행 착오의 가능성을 볼 수 있지만, 몇 가지 어려운 문서를보고 싶습니다.

StringLengthAttribute documentation에서 이에 대해 아무 것도 없습니다.

답변

41

{0} 인덱스 {2}MinimumLength이다 {1}MaximumLength이며, 속성의 디스플레이 이름. 그래서, "The Foo must be at least 6 characters long."

+20

예, 잘 것 같아요 시행 착오를 제외하고는 어떻게 알 수 있습니까? [FormatErrorMessage] StringLengthAttribute 클래스 자체에 구현되어 있습니까 (http://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.stringlengthattribute.formaterrormessage%28v=vs.110%29.aspx) 방법? 이것이 문서화되어 있습니까? –

+2

'MinimumLength'가 지정되지 않았다면? 'MaximumLength'가 0 일 때 설정 한 유일한 속성이라면 어떻게합니까? – Shimmy

+1

이 정보는 어디에서 찾을 수 있습니까? – Lopsided

12

이 나도 모든 문서를 보지 못했로 오류 메시지가 편대 될 것입니다,하지만 StringLengthAttribute에 대한 FormatErrorMessage 방법은 다음과 같습니다 : 정말 요구하고있는 무슨

public override string FormatErrorMessage(string name) 
{ 
    EnsureLegalLengths(); 
    string format = ((this.MinimumLength != 0) && !base.CustomErrorMessageSet) ? DataAnnotationsResources.StringLengthAttribute_ValidationErrorIncludingMinimum : base.ErrorMessageString; 
    return String.Format(CultureInfo.CurrentCulture, format, new object[] { name, MaximumLength, MinimumLength }); 
} 
관련 문제