ValidationError Class

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.Represents a validation error that is created either by the binding engine when a ValidationRule reports a validation error, or through the MarkInvalid(BindingExpressionBase, ValidationError) method explicitly.

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

Examples

Das folgende Beispiel zeigt einen Stil--Fehler, der eine ToolTip erstellt, die eine Validierungs Fehlermeldung meldet.The following example shows a style trigger that creates a ToolTip that reports a validation error message. Die Validation.Errors angefügte-Eigenschaft gibt eine Auflistung von ValidationError Objekten für das gebundene Element zurück.The Validation.Errors attached property returns a collection of ValidationError objects on the bound element.

<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>

Remarks

Das WPFWPF-Daten Bindungs Modell ermöglicht es Ihnen, Validierungsregeln Ihrem Binding-Objekt zuzuordnen.The WPFWPF data binding model enables you to associate validation rules with your Binding object. Die Validierung erfolgt bei der Übertragung von Ziel-zu-Quelle-Werten, bevor der Konverter aufgerufen wird.Validation occurs during target-to-source value transfer before the converter is called. Im folgenden wird der Überprüfungs Vorgang beschrieben.The following describes the validation process.

  1. Wenn ein Wert von der Ziel Eigenschaft zur Quell Eigenschaft übertragen wird, entfernt die Datenbindungs-Engine zuerst alle ValidationError, die möglicherweise der Validation.Errors angefügten Eigenschaft des gebundenen Elements hinzugefügt wurden.When a value is being transferred from the target property to the source property, the data binding engine first removes any ValidationError that might have been added to the Validation.Errors attached property of the bound element. Anschließend wird überprüft, ob benutzerdefinierte Validierungsregeln für die Bindingdefiniert werden. in diesem Fall wird die Validate-Methode auf jedem ValidationRule aufgerufen, bis eines von Ihnen einen Fehler verursacht oder alle erfolgreich verlaufen sind.It then checks whether any custom validation rules are defined for that Binding, in which case it calls the Validate method on each ValidationRule until one of them fails or until all of them pass.

  2. Sobald eine benutzerdefinierte Regel vorhanden ist, die nicht erfolgreich ist, erstellt die Bindungs-Engine ein ValidationError Objekt und fügt es der Validation.Errors-Auflistung des gebundenen Elements hinzu.Once there is a custom rule that does not pass, the binding engine creates a ValidationError object and adds it to the Validation.Errors collection of the bound element. Wenn Validation.Errors nicht leer ist, wird die Validation.HasError angefügte-Eigenschaft des-Elements auf truefestgelegt.When Validation.Errors is not empty, the Validation.HasError attached property of the element is set to true. Wenn die NotifyOnValidationError-Eigenschaft des Binding auf truefestgelegt ist, löst die Bindungs-Engine außerdem das Validation.Error angefügte-Ereignis für das-Element aus.Also, if the NotifyOnValidationError property of the Binding is set to true, then the binding engine raises the Validation.Error attached event on the element.

  3. Wenn alle Regeln bestanden werden, ruft die Bindungs-Engine dann den Konverter auf, sofern vorhanden.If all the rules pass, the binding engine then calls the converter, if one exists.

  4. Wenn der Konverter übergibt, ruft die Bindungs-Engine den Setter der Source-Eigenschaft auf.If the converter passes, the binding engine calls the setter of the source property.

  5. Wenn der Bindung eine ExceptionValidationRule zugeordnet ist und während Schritt 3 oder 4 eine Ausnahme ausgelöst wird, prüft die Bindungs-Engine, ob ein UpdateSourceExceptionFiltervorhanden ist.If the binding has an ExceptionValidationRule associated with it and an exception is thrown during step 3 or 4, the binding engine checks to see if there is an UpdateSourceExceptionFilter. Mit dem UpdateSourceExceptionFilter-Rückruf können Sie einen benutzerdefinierten Handler für die Behandlung von Ausnahmen bereitstellen.You can use the UpdateSourceExceptionFilter callback to provide a custom handler for handling exceptions. Wenn eine UpdateSourceExceptionFilter nicht auf dem Bindingangegeben ist, erstellt die Bindungs-Engine eine ValidationError mit der Ausnahme und fügt Sie der Validation.Errors Auflistung des gebundenen Elements hinzu.If an UpdateSourceExceptionFilter is not specified on the Binding, the binding engine creates a ValidationError with the exception and adds it to the Validation.Errors collection of the bound element.

Wenn eine gültige Wertübertragung in beide Richtungen erfolgt (Ziel zur Quelle oder Quelle zum Ziel), wird die Validation.Errors angefügte Eigenschaft gelöscht.A valid value transfer in either direction (target to source or source to target) will clear the Validation.Errors attached property.

Constructors

ValidationError(ValidationRule, Object)

Initialisiert eine neue Instanz der ValidationError-Klasse mit den angegebenen Parametern.Initializes a new instance of the ValidationError class with the specified parameters.

ValidationError(ValidationRule, Object, Object, Exception)

Initialisiert eine neue Instanz der ValidationError-Klasse mit den angegebenen Parametern.Initializes a new instance of the ValidationError class with the specified parameters.

Properties

BindingInError

Ruft das BindingExpression-Objekt oder das MultiBindingExpression-Objekt dieses ValidationError ab.Gets the BindingExpression or MultiBindingExpression object of this ValidationError. Das Objekt wird entweder explizit als ungültig markiert oder es verfügt über eine fehlgeschlagene Validierungsregel.The object is either marked invalid explicitly or has a failed validation rule.

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.Gets or sets an object that provides additional context for this ValidationError, such as a string describing the error.

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.Gets or sets the Exception object that was the cause of this ValidationError, if the error is the result of an exception.

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.Gets or sets the ValidationRule object that was the cause of this ValidationError, if the error is the result of a validation rule.

Methods

Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Inherited from Object)
GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Inherited from Object)

Applies to

See also