Data Annotation
Eintrag zuletzt aktualisiert am: 31.07.2012
Eine Data
Annotation (Datenannotation) ist eine Festlegung für Bedingungen, die ein Datenobjekt erfüllen muss oder eine Art und Weise wie sich das Datenobjekt darstellen soll.
Data
Annotations sind
.NET-
Attribute, definiert im Namensraum
System.ComponentModel.Data
Annotations.
Sie werden verwendet in
ASP.NET Dynamic Data (ab
.NET 3.5 SP1),
ASP.NET MVC und ab
ASP.NET 4.5 auch in
ASP.NET Webforms Model Binding.
Data
Annotations können auf Klassen- oder
Propertyebene angewendet werden.
Beispiele:
[DisplayColumn("MitarbeiterNr")]
[ScaffoldTable(false)]
[Display(Name = "Beschriftung")]
[Range(0,250)]
[Required]
[StringLength(1, ErrorMessage="Bitte nur ein Zeichen!")]
[ScaffoldColumn(false)]
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy HH:mm}", ApplyFormatInEditMode=true, NullDisplayText="Keine Angabe",ConvertEmptyStringToNull=true)]
[RegularExpression(@"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*", ErrorMessage="Keine gültige E-Mail-Adresse!")]
[FilterUIHint("FilterName")]
Entwickler können eigenen Datenannotationen schreiben, z.B.
/// <summary>
/// Eigene Validierungsklasse
/// Auswahl muss aus einer vorgegebene Menge von Zeichenketten kommen
/// </summary>
public class Choice
Attribute : Validation
Attribute
{
public List<string> Choices { get; set; }
public Choice
Attribute(params string[] choices)
{
this.Choices = choices.ToList();
}
public override bool IsValid(object value)
{
return (Choices.Contains(value.ToString()));
}
}
Diese Validierungsannotation kann dann so angewendet werden:
[Choice("Rom", "Berlin", "Moskau", "Essen-Mülheim")]
public object Abflugort;