text: Gewusst wie: Validieren von Daten
  WCF RIA Services Mittlere Ebene Daten
  Daten Gewusst wie: Validieren von Daten
  Festgelegte Hierarchien
  Vererbung in Datenmodellen
  Gemeinsam verwendete Entitäten
  Exemplarische Vorgehensweise: Freigeben von Entitäten zwischen mehreren Domänendiensten
  Gewusst wie: Hinzufügen von Metadatenklassen
  Verwalten der Datenparallelität
  In diesem Thema wird beschrieben, wie Sie Eigenschaften und Entitäten Validierungsattribute hinzufügen, um Validierungsregeln zu erzwingen. WCF RIA Services stellt mehrere Validierungsattribute für allgemeine Validierungsüberprüfungen und auch das CustomValidationAttribute-Attribut bereit, mit dessen Hilfe Sie benutzerdefinierte Validierungsüberprüfungen angeben können.
  In RIA Services sind die folgenden Standardvalidierungsattribute verfügbar:
  Die Validierungsattribute werden Entitäten im Serverprojekt hinzugefügt, und diese Validierungsattribute werden an die zugehörigen generierten Cliententitätsdarstellungen weitergegeben. Zur Laufzeit werden die Validierungsregeln auf Daten vom Benutzer angewendet. Sie müssen Metadatenklassen hinzufügen, um Validierungsattribute hinzuzufügen. Weitere Informationen hierzu finden Sie unter Gewusst wie: Hinzufügen von Metadatenklassen.
  In diesem Thema wird beschrieben, wie standardmäßige und benutzerdefinierte Validierungsattribute hinzugefügt werden.
  So fügen Sie von RIA Services bereitgestellte Validierungsattribute hinzu
  Fügen Sie wie unter Gewusst wie: Hinzufügen von Metadatenklassen beschrieben eine Metadatenklasse für die Entitätsklasse hinzu.
  Fügen Sie den Eigenschaften oder der Entität, die Sie überprüfen möchten, die Validierungsattribute zum Durchführen der Validierung hinzu.
  Im folgenden Beispiel wurden die RequiredAttribute- und StringLengthAttribute-Attribute auf eine Eigenschaft mit dem Namen AddressLine1 angewendet.
  <RoundtripOriginal()> _
  Public AddressLine1 As String
  Öffnen Sie in der Silverlight-Anwendung die generierte Codedatei im Ordner "Generated_Code". Die Validierungsattribute wurden im Clientcode angewendet.
  So fügen Sie ein benutzerdefiniertes Validierungsattribut hinzu
  Fügen Sie unter Verwendung des *.shared.cs- oder *.shared.vb-Benennungsmusters eine freigegebene Codedatei hinzu.
  Die Codedatei enthält das benutzerdefinierte Validierungsobjekt.
  Fügen Sie eine Methode hinzu, durch die bestimmt wird, ob die Daten gültig sind.
  Die Methode muss public und static sein (oder Public und Shared in Visual Basic). Sie muss ein ValidationResult zurückgeben, um das Ergebnis der Validierungsüberprüfung anzugeben. Damit die Klasse ordnungsgemäß im Clientprojekt generiert wird, müssen Sie beim Definieren der benutzerdefinierten Validierungsklasse zumindest etwas Code angeben, bei dem es sich nicht um automatisch implementierte Eigenschaften handelt.
  Das folgende Beispiel zeigt eine Klasse mit dem Namen ProductValidator mit einer Methode namens IsProductValid, durch die eine Product-Entität überprüft wird. Wenn die Daten nicht gültig sind, geben Sie die Fehlermeldung und den Namen der Eigenschaft zurück, bei der die Validierung fehlgeschlagen ist.
  Public Shared Function IsProductValid(ByVal productToValidate As Product, ByVal context As ValidationContext)
  If (productToValidate.ListPrice < (CDec(0.8) * productToValidate.StandardCost)) Then
  Return New ValidationResult("ListPrice is below 80 percent of StandardCost.", New String() {"ListPrice"})
  namespace RIAServicesExample.Web
  if (productToValidate.ListPrice < ((decimal).8 * productToValidate.StandardCost))
  return new ValidationResult("ListPrice is below 80 percent of StandardCost.", new string[] { "ListPrice" });
  Fügen Sie der Entität oder Eigenschaft, die Sie überprüfen möchten, das CustomValidationAttribute-Attribut hinzu, und übergeben Sie den Typ des Validierungsobjekts und den Namen der Methode für die Validierungsausführung.
  Im folgenden Beispiel wurde das CustomValidationAttribute-Attribut auf eine Entität angewendet. Der Validierungsobjekttyp ist ProductValidator, und die Methode ist IsProductValid.
  <CustomValidation(GetType(ProductValidator), "IsProductValid")> _
  <MetadataTypeAttribute(GetType(Product.ProductMetadata))> _
  Friend NotInheritable Class ProductMetadata
  'Metadata classes are not meant to be instantiated.
  Public DiscontinuedDate As Nullable(Of DateTime)
  Public ListPrice As Decimal
  Public ModifiedDate As DateTime
  Public ProductCategoryID As Nullable(Of Integer)
  Public ProductModelID As Nullable(Of Integer)
  Public ProductNumber As String
  Public rowguid As Guid
  Public SellEndDate As Nullable(Of DateTime)
  Public SellStartDate As DateTime
  <StringLength(20)> _
  Public StandardCost As Decimal
  Public ThumbNailPhoto() As Byte
  Public ThumbnailPhotoFileName As String
  Public Weight As Nullable(Of Decimal)
  [CustomValidation(typeof(ProductValidator), "IsProductValid")]
  public Nullable<DateTime> DiscontinuedDate;
  public Nullable<int> ProductCategoryID;
  public Nullable<int> ProductModelID;
  public Nullable<DateTime> SellEndDate;
  public Nullable<decimal> Weight;
  Öffnen Sie in der Silverlight-Anwendung den Ordner "Generated_Code". Die freigegebene Codedatei ist im Ordner vorhanden, und das CustomValidationAttribute-Attribut wurde auf die Entität angewendet.