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 einen Stil--Fehler, ToolTip der eine 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 ValidationError Auflistung von-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>

Hinweise

Das WPFWPF Daten Bindungs Modell ermöglicht es Ihnen, Validierungsregeln Binding dem 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 Daten Bindungs-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 für diese Bindingbenutzerdefinierte Validierungsregeln definiert sind. in diesem Fall wird die Validate -Methode für jedes ValidationRule -Argument 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. Wenn eine benutzerdefinierte Regel nicht übergeben wird, 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 Validation.HasError die angefügte-Eigenschaft des-Elements trueauf festgelegt.When Validation.Errors is not empty, the Validation.HasError attached property of the element is set to true. Auch wenn die NotifyOnValidationError -Eigenschaft Binding von auf truefestgelegt ist, löst die Bindungs-Engine 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 ein ExceptionValidationRule zugeordnet ist und während Schritt 3 oder 4 eine Ausnahme ausgelöst wird, prüft die Bindungs-Engine, ob eine 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. Sie können den UpdateSourceExceptionFilter Rückruf verwenden, um einen benutzerdefinierten Handler für die Behandlung von Ausnahmen bereitzustellen.You can use the UpdateSourceExceptionFilter callback to provide a custom handler for handling exceptions. Wenn ein UpdateSourceExceptionFilter Bindingnicht in angegeben 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.

Die Validation.Errors angefügte-Eigenschaft wird durch eine gültige Wertübertragung in beide Richtungen (Ziel zur Quelle oder Ziel Quelle) gelöscht.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