ValidationError Klasa

Definicja

Reprezentuje błąd walidacji tworzony przez aparat powiązań w przypadku ValidationRule zgłaszania błędu walidacji lub MarkInvalid(BindingExpressionBase, ValidationError) metody jawnie.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
Dziedziczenie
ValidationError

Przykłady

Poniższy przykład pokazuje wyzwalacz stylu, który tworzy ToolTip raport, który wyświetla komunikat o błędzie walidacji.The following example shows a style trigger that creates a ToolTip that reports a validation error message. Validation.ErrorsDołączona właściwość zwraca kolekcję ValidationError obiektów w elemencie powiązania.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>

Uwagi

WPFWPFModel powiązania danych umożliwia kojarzenie reguł walidacji z Binding obiektem.The WPFWPF data binding model enables you to associate validation rules with your Binding object. Walidacja występuje podczas transferu wartości "docelowy do źródła" przed wywołaniem konwertera.Validation occurs during target-to-source value transfer before the converter is called. Poniżej opisano proces sprawdzania poprawności.The following describes the validation process.

  1. Gdy wartość jest transferowana z właściwości target do właściwości source, aparat powiązań danych najpierw usuwa wszystkie ValidationError , które mogły zostać dodane do Validation.Errors dołączonej właściwości powiązanego elementu.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. Następnie sprawdza, czy dla tego programu są zdefiniowane niestandardowe reguły walidacji Binding , w takim przypadku wywołanie metody jest możliwe Validate ValidationRule do momentu, aż jeden z nich ulegnie awarii lub dopóki wszystkie z nich nie zostaną przekazane.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. Gdy istnieje reguła niestandardowa, która nie zostanie przekazana, aparat powiązań tworzy ValidationError obiekt i dodaje go do Validation.Errors kolekcji powiązanego elementu.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. Gdy Validation.Errors nie jest pusty, Validation.HasError dołączona właściwość elementu jest ustawiona na true .When Validation.Errors is not empty, the Validation.HasError attached property of the element is set to true. Ponadto, jeśli NotifyOnValidationError Właściwość Binding jest ustawiona na true , aparat powiązań wywołuje Validation.Error dołączone zdarzenie w elemencie.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. Jeśli wszystkie reguły są przekazywane, aparat powiązań następnie wywołuje konwerter, jeśli taki istnieje.If all the rules pass, the binding engine then calls the converter, if one exists.

  4. Jeśli konwerter przejdzie do, aparat powiązania wywołuje metodę ustawiającą właściwości source.If the converter passes, the binding engine calls the setter of the source property.

  5. Jeśli powiązanie jest ExceptionValidationRule skojarzone z nim, a wyjątek jest zgłaszany podczas kroku 3 lub 4, aparat powiązań sprawdza, czy istnieje 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. Możesz użyć UpdateSourceExceptionFilter wywołania zwrotnego, aby zapewnić niestandardową procedurę obsługi wyjątków.You can use the UpdateSourceExceptionFilter callback to provide a custom handler for handling exceptions. Jeśli element UpdateSourceExceptionFilter nie jest określony w Binding , aparat powiązań tworzy ValidationError wyjątek z wyjątkiem i dodaje go do Validation.Errors kolekcji powiązanego elementu.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.

Prawidłowy transfer wartości w obu kierunkach (element docelowy ze źródłem lub źródłem do lokalizacji docelowej) spowoduje wyczyszczenie Validation.Errors dołączonej właściwości.A valid value transfer in either direction (target to source or source to target) will clear the Validation.Errors attached property.

Konstruktory

ValidationError(ValidationRule, Object)

Inicjuje nowe wystąpienie ValidationError klasy z określonymi parametrami.Initializes a new instance of the ValidationError class with the specified parameters.

ValidationError(ValidationRule, Object, Object, Exception)

Inicjuje nowe wystąpienie ValidationError klasy z określonymi parametrami.Initializes a new instance of the ValidationError class with the specified parameters.

Właściwości

BindingInError

Pobiera BindingExpression obiekt lub MultiBindingExpression ValidationError .Gets the BindingExpression or MultiBindingExpression object of this ValidationError. Obiekt jest jawnie oznaczony jako nieprawidłowy lub ma regułę sprawdzania poprawności.The object is either marked invalid explicitly or has a failed validation rule.

ErrorContent

Pobiera lub ustawia obiekt, który zapewnia dodatkowy kontekst dla tego elementu ValidationError , taki jak ciąg opisujący błąd.Gets or sets an object that provides additional context for this ValidationError, such as a string describing the error.

Exception

Pobiera lub ustawia Exception obiekt, którego przyczyną ValidationError jest przyczyna, jeśli błąd jest wynikiem wyjątku.Gets or sets the Exception object that was the cause of this ValidationError, if the error is the result of an exception.

RuleInError

Pobiera lub ustawia ValidationRule obiekt, którego przyczyną ValidationError jest przyczyna, jeśli błąd jest wynikiem reguły walidacji.Gets or sets the ValidationRule object that was the cause of this ValidationError, if the error is the result of a validation rule.

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.Determines whether the specified object is equal to the current object.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.Serves as the default hash function.

(Odziedziczone po Object)
GetType()

Pobiera Type bieżące wystąpienie.Gets the Type of the current instance.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy skróconą kopię bieżącego elementu Object .Creates a shallow copy of the current Object.

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.Returns a string that represents the current object.

(Odziedziczone po Object)

Dotyczy

Zobacz też