2012-11-16 11 views
29

MVC4 şablonunda, kullanılan veri açıklama özelliklerinden biri dize uzunluğudur. Örneğinstringlength özniteliği errormessage hangi parametreleri alır?

:

{0}, {1}, {2} yasal nelerdir parametreler
[StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)] 

(daha?)?

Düzenleme: Daha spesifik olmak gerekirse, örneklerden görebiliyorum ve deneme ve hata olasılıkları nelerdir, ancak bazı sert belgeleri görmek istiyorum.

Bu konuyla ilgili hiçbir şey bulamıyorum StringLengthAttribute documentation.

cevap

41

{0} endeksi {2}MinimumLength olduğunu {1}MaximumLength olduğunu özelliğinin görüntü adıdır. Yani, "The Foo must be at least 6 characters long."

+20

Evet, sanırım Deneme ve hatadan ayrı olarak bunu nasıl bilebilirim? [FormatErrorMessage] 'da StringLengthAttribute sınıfının kendisinde uygulandı mı (http://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.stringlengthattribute.formaterrormessage%28v=vs.110%29.aspx) yöntem? Bu belgelenmiş mi? –

+2

"Minimum Uzunluk" belirtilmemişse ne olur? Ve eğer 'MaximumLength' sıfır iken ayarlanan tek özellikse? – Shimmy

+1

Bu bilgi nerede bulunur? – Lopsided

12

Ben de herhangi bir belge görmedim gibi hata mesajı format olacak ama StringLengthAttribute için FormatErrorMessage yöntem aşağıdaki gibidir: Gerçekten soruyorum neyi

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 }); 
}