Sdílet prostřednictvím


ValidationError Třída

Definice

Představuje chybu ověření, která je vytvořená buď rozhraním vazby, když ValidationRule hlásí chybu ověření, nebo prostřednictvím MarkInvalid(BindingExpressionBase, ValidationError) metody explicitně.

public ref class ValidationError
public class ValidationError
type ValidationError = class
Public Class ValidationError
Dědičnost
ValidationError

Příklady

Následující příklad ukazuje trigger stylu, který vytvoří ToolTip zprávu o chybě ověření. Připojená Validation.Errors vlastnost vrátí kolekci ValidationError objektů v vázaném prvku.

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

Poznámky

Model datových vazeb WPF umožňuje přidružit ověřovací pravidla k objektu Binding . Ověření probíhá během přenosu hodnoty cílového zdroje před zavoláním převaděče. Následující článek popisuje proces ověření.

  1. Při přenosu hodnoty z cílové vlastnosti do zdrojové vlastnosti modul datových vazeb nejprve odebere všechny ValidationError , které mohly být přidány do Validation.Errors připojené vlastnosti vázaného prvku. Pak zkontroluje, jestli jsou pro ni Bindingdefinována nějaká vlastní ověřovací pravidla , v takovém případě volá metodu Validate pro každý ValidationRule z nich, dokud jedna z nich selže nebo dokud všechny neprojdou.

  2. Jakmile existuje vlastní pravidlo, které neprojde, vytvoří modul vazby ValidationError objekt a přidá ho do Validation.Errors kolekce vázaného prvku. Pokud Validation.Errors není prázdná, připojená Validation.HasError vlastnost prvku je nastavena na true. Také, pokud NotifyOnValidationError je vlastnost objektu Binding nastavena truena , pak binding engine vyvolá připojenou Validation.Error událost na elementu.

  3. Pokud všechna pravidla projdou, modul vazeb pak zavolá převaděč, pokud existuje.

  4. Pokud převaděč projde, vazbu modul volá setter zdrojové vlastnosti.

  5. Pokud je ExceptionValidationRule k vazbě přidružená vazba a během kroku 3 nebo 4 dojde k výjimce, modul vazeb zkontroluje, zda existuje UpdateSourceExceptionFilter. Zpětné volání můžete použít UpdateSourceExceptionFilter k poskytnutí vlastní obslužné rutiny pro zpracování výjimek. UpdateSourceExceptionFilter Pokud není zadán v vazbu Bindingmodul vytvoří ValidationError s výjimkou a přidá ho do Validation.Errors kolekce vázaného prvku.

Platný přenos hodnot v libovolném směru (cíl na zdroj nebo zdroj do cíle) vymaže připojenou Validation.Errors vlastnost.

Konstruktory

Name Description
ValidationError(ValidationRule, Object, Object, Exception)

Inicializuje novou instanci ValidationError třídy se zadanými parametry.

ValidationError(ValidationRule, Object)

Inicializuje novou instanci ValidationError třídy se zadanými parametry.

Vlastnosti

Name Description
BindingInError

BindingExpression Získá objekt MultiBindingExpression nebo objekt tohoto ValidationError. Objekt je buď označený jako neplatný, nebo má neúspěšné ověřovací pravidlo.

ErrorContent

Získá nebo nastaví objekt, který poskytuje další kontext pro tento ValidationError, například řetězec popisující chybu.

Exception

Získá nebo nastaví Exception objekt, který byl příčinou tohoto ValidationError, pokud chyba je výsledkem výjimky.

RuleInError

Získá nebo nastaví ValidationRule objekt, který byl příčinou tohoto ValidationError, pokud chyba je výsledkem ověřovacího pravidla.

Metody

Name Description
Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Platí pro

Viz také