ValidationError ValidationError ValidationError ValidationError Class

Definition

Stellt einen Validierungsfehler dar, der entweder von der Bindungs-Engine, wenn ValidationRule einen Validierungsfehler meldet, oder explizit von der 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
Vererbung
ValidationErrorValidationErrorValidationErrorValidationError

Beispiele

Das folgende Beispiel zeigt das Auslösen einer Formatvorlage, die erstellt eine ToolTip meldet, dass eine Validierungsfehlermeldung angezeigt.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 Objekte für das gebundene Element.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>

Hinweise

Die WPFWPF -Datenbindungsmodell ermöglicht Ihnen, Validierungsregeln mit Verknüpfen Ihrer Binding Objekt.The WPFWPF data binding model enables you to associate validation rules with your Binding object. Überprüfung erfolgt während der Übertragung der Ziel-to-Source-Wert, bevor der Konverter aufgerufen wird.Validation occurs during target-to-source value transfer before the converter is called. Im folgenden wird den Überprüfungsprozess beschrieben.The following describes the validation process.

  1. Wenn ein Wert aus der Zieleigenschaft an die Quelleigenschaft übertragen werden, entfernt die Datenbindungs-Engine zunächst alle ValidationError , möglicherweise hinzugefügt wurden die Validation.Errors angefügte Eigenschaft des gebundenen Elements.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. Wird dann daraufhin geprüft, ob benutzerdefinierte Validierungsregeln, definiert sind Binding, in diesem Fall ruft die Validate -Methode für jede ValidationRule bis einer davon ausfällt oder bis alle übergeben.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. Eine benutzerdefinierte Regel, die nicht erfüllt wird, erstellt die Bindungs-Engine eine ValidationError -Objekt und fügt es der Validation.Errors -Auflistung des gebundenen Elements.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 ist nicht leer ist, die Validation.HasError angefügte Eigenschaft des Elements nastaven NA hodnotu true.When Validation.Errors is not empty, the Validation.HasError attached property of the element is set to true. Auch wenn die NotifyOnValidationError Eigenschaft der Binding nastaven NA hodnotu true, löst die Bindungs-Engine die Validation.Error angefügtes Ereignis für das Element.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 übergeben, ruft die Bindungs-Engine den Konverter auf, falls vorhanden.If all the rules pass, the binding engine then calls the converter, if one exists.

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

  5. Wenn die Bindung wurde eine ExceptionValidationRule zugeordnet und die Bindungs-Engine eine Ausnahme ausgelöst wird, in Schritt 3 oder 4, überprüft werden, um festzustellen, ob ein UpdateSourceExceptionFilter.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. Sie können die UpdateSourceExceptionFilter Rückruf, der einen benutzerdefinierten Handler zum Behandeln von Ausnahmen angeben.You can use the UpdateSourceExceptionFilter callback to provide a custom handler for handling exceptions. Wenn ein UpdateSourceExceptionFilter nicht angegeben ist, auf die Binding, erstellt die Bindungs-Engine eine ValidationError mit der Ausnahme und fügt es der Validation.Errors -Auflistung des gebundenen Elements.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.

Eine gültiger Wert Übertragung in beide Richtungen (Ziel zu Quelle oder Ziel) werden gelöscht, die die Validation.Errors angefügte Eigenschaft.A valid value transfer in either direction (target to source or source to target) will clear the Validation.Errors attached property.

Konstruktoren

ValidationError(ValidationRule, Object) ValidationError(ValidationRule, Object) ValidationError(ValidationRule, Object) 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) ValidationError(ValidationRule, Object, Object, Exception) ValidationError(ValidationRule, Object, Object, Exception) 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.

Eigenschaften

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

Ruft ein Objekt ab, das zusätzliche Kontextinformationen für diesen ValidationError bereitstellt, wie z. B. eine Zeichenfolge mit einer Fehlerbeschreibung, oder legt dieses Objekt fest.Gets or sets an object that provides additional context for this ValidationError, such as a string describing the error.

Exception Exception Exception 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 RuleInError RuleInError 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.

Methoden

Equals(Object) Equals(Object) Equals(Object) 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() GetHashCode() GetHashCode() GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

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

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

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

(Inherited from Object)
ToString() ToString() ToString() ToString()

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

(Inherited from Object)

Gilt für:

Siehe auch