Freigeben über


ValidationError Klasse

Definition

Stellt einen Validierungsfehler dar, der entweder von der Bindungs-Engine erstellt wird, wenn eine ValidationRule einen Validierungsfehler meldet, oder explizit über die MarkInvalid(BindingExpressionBase, ValidationError)-Methode erstellt wird.

public ref class ValidationError
public class ValidationError
type ValidationError = class
Public Class ValidationError
Vererbung
ValidationError

Beispiele

Das folgende Beispiel zeigt einen Formattrigger, der einen ToolTip erstellt, der eine Überprüfungsfehlermeldung meldet. Die Validation.Errors angefügte Eigenschaft gibt eine Auflistung von ValidationError Objekten für das gebundene Element zurück.

<Style x:Key="textStyleTextBox" TargetType="TextBox">
  <Setter Property="Foreground" Value="#333333" />
  <Setter Property="MaxLength" Value="40" />
  <Setter Property="Width" Value="392" />
  <Style.Triggers>
    <Trigger Property="Validation.HasError" Value="true">
      <Setter Property="ToolTip"
        Value="{Binding RelativeSource={RelativeSource Self},
                        Path=(Validation.Errors)[0].ErrorContent}"/>
    </Trigger>
  </Style.Triggers>
</Style>

Hinweise

Mit dem WPF-Datenbindungsmodell können Sie Ihrem Binding Objekt Validierungsregeln zuordnen. Die Überprüfung erfolgt während der Ziel-zu-Quelle-Wertübertragung, bevor der Konverter aufgerufen wird. Im Folgenden wird der Prozess der Validierung beschrieben.

  1. Wenn ein Wert von der Zieleigenschaft in die Quelleigenschaft übertragen wird, entfernt das Datenbindungsmodul zunächst alle ValidationError Elemente, die der Validation.Errors angefügten Eigenschaft des gebundenen Elements hinzugefügt wurden. Anschließend wird überprüft, ob benutzerdefinierte Validierungsregeln für diesen Bindingdefiniert sind. In diesem Fall wird die Validate -Methode für jede ValidationRule aufgerufen, bis eine von ihnen fehlschlägt oder bis alle erfolgreich sind.

  2. Sobald eine benutzerdefinierte Regel nicht übergeben wird, erstellt das Bindungsmodul ein ValidationError -Objekt und fügt es der Validation.Errors Auflistung des gebundenen Elements hinzu. Wenn Validation.Errors nicht leer ist, wird die angefügte Eigenschaft Validation.HasError des Elements auf true festgelegt. Wenn außerdem die NotifyOnValidationError-Eigenschaft der Binding auf true festgelegt ist, löst die Bindungs-Engine das angefügte Ereignis Validation.Error des Elements aus.

  3. Wenn alle Regeln erfolgreich sind, ruft die Bindungs-Engine den Konverter auf, falls vorhanden.

  4. Wenn der Konverter übergeben wird, ruft die Bindungs-Engine den Setter der Quelleigenschaft auf.

  5. Wenn der Bindung ein ExceptionValidationRule zugeordnet ist und während Schritt 3 oder 4 eine Ausnahme ausgelöst wird, überprüft das Bindungsmodul, ob ein UpdateSourceExceptionFiltervorhanden ist. Sie können den UpdateSourceExceptionFilter-Rückruf verwenden, um einen benutzerdefinierten Handler zum Behandeln von Ausnahmen bereitzustellen. Wenn kein UpdateSourceExceptionFilter für die Binding angegeben ist, erstellt die Bindungs-Engine einen ValidationError mit der Ausnahme und fügt ihn der Validation.Errors-Auflistung des gebundenen Elements hinzu.

Eine gültige Wertübertragung in beide Richtungen (Ziel an Quelle oder Quelle zu Ziel) löscht die Validation.Errors angefügte Eigenschaft.

Konstruktoren

ValidationError(ValidationRule, Object, Object, Exception)

Initialisiert eine neue Instanz der ValidationError-Klasse mit den angegebenen Parametern.

ValidationError(ValidationRule, Object)

Initialisiert eine neue Instanz der ValidationError-Klasse mit den angegebenen Parametern.

Eigenschaften

BindingInError

Ruft das BindingExpression-Objekt oder das MultiBindingExpression-Objekt dieses ValidationError ab. Das Objekt wird entweder explizit als ungültig markiert oder es verfügt über eine fehlgeschlagene Validierungsregel.

ErrorContent

Ruft ein Objekt ab oder legt dieses fest, das zusätzliche Kontextinformationen für diesen ValidationError bereitstellt, z. B. eine Zeichenfolge mit einer Beschreibung des Fehlers.

Exception

Ruft das Exception-Objekt ab, das die Ursache für diesen ValidationError war, sofern der Fehler das Ergebnis einer Ausnahme ist, oder legt das Objekt fest.

RuleInError

Ruft das ValidationRule-Objekt ab, das die Ursache für diesen ValidationError war, sofern der Fehler das Ergebnis einer Validierungsregel ist, oder legt das Objekt fest.

Methoden

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für:

Weitere Informationen