ValidationError Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Představuje chybu ověřování, která je vytvořena buď pomocí modulu 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ří chybovou ToolTip zprávu o ověření. Připojená Validation.Errors vlastnost vrátí kolekci ValidationError objektů ve vázaném elementu.
<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ěhne během přenosu hodnoty cíle do zdroje před zavolání převaděče. Následující článek popisuje proces ověření.
Když se hodnota přenáší 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 Bindingni definována nějaká vlastní ověřovací pravidla . V takovém případě volá metodu Validate na každé z nich ValidationRule , dokud jedno z nich selže nebo dokud neprojdou všechna z nich.
Jakmile existuje vlastní pravidlo, které neprojde, vytvoří modul vazby ValidationError objekt a přidá ho do Validation.Errors kolekce vázaného elementu. Pokud Validation.Errors není prázdná, Validation.HasError je vlastnost připojeného elementu nastavena na
true
hodnotu . Pokud je vlastnost NotifyOnValidationError objektu Binding nastavená natrue
, pak modul vazby vyvolá u elementu přidruženou událost Validation.Error.Pokud všechna pravidla projdou, modul vazeb pak zavolá převaděč, pokud existuje.
Pokud převaděč projde, modul vazby volá setter zdrojové vlastnosti.
Pokud má vazba přidruženou ExceptionValidationRule vazbu a během kroku 3 nebo 4 dojde k výjimce, modul vazby zkontroluje, jestli existuje UpdateSourceExceptionFilter. Zpětné volání UpdateSourceExceptionFilter můžete použít k poskytnutí vlastní obslužné rutiny pro zpracování výjimek. UpdateSourceExceptionFilter Pokud není zadán v Binding, vytvoří modul ValidationError vazby s výjimkou a přidá ho Validation.Errors do kolekce vázaného elementu.
Platný přenos hodnoty v obou směrech (cíl na zdroj nebo zdroj na cíl) vymaže připojenou Validation.Errors vlastnost.
Konstruktory
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
BindingInError |
BindingExpression Získá objekt nebo MultiBindingExpression tohoto ValidationErrorobjektu . Objekt je buď explicitně 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 je chyba výsledkem výjimky. |
RuleInError |
Získá nebo nastaví ValidationRule objekt, který byl příčinou tohoto ValidationError, pokud je chyba výsledkem ověřovacího pravidla. |
Metody
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
GetHashCode() |
Slouží jako výchozí hashovací funkce. (Zděděno od Object) |
GetType() |
Získá aktuální Type instanci. (Zděděno od Object) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |