ValidationError Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Representa um erro de validação que é criado quer pelo motor de ligação quando um ValidationRule reporta um erro de validação, quer explicitamente através do MarkInvalid(BindingExpressionBase, ValidationError) método.
public ref class ValidationError
public class ValidationError
type ValidationError = class
Public Class ValidationError
- Herança
-
ValidationError
Exemplos
O exemplo seguinte mostra um disparador de estilo que cria uma ToolTip e que reporta uma mensagem de erro de validação. A Validation.Errors propriedade anexada devolve uma coleção de ValidationError objetos no elemento ligado.
<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>
Observações
O modelo de ligação de dados WPF permite-lhe associar regras de validação ao seu objeto Binding. A validação ocorre durante a transferência de valor alvo para fonte antes de o conversor ser chamado. O que se segue descreve o processo de validação.
Quando um valor está a ser transferido da propriedade de destino para a propriedade de origem, o motor de ligação de dados remove primeiro qualquer valor ValidationError que possa ter sido adicionado à Validation.Errors propriedade associada do elemento ligado. Depois verifica se existem regras de validação personalizadas definidas para esse Binding, caso em que chama o Validate método em cada ValidationRule um até que um deles falhe ou até que todos sejam aprovados.
Quando existe uma regra personalizada que não passa, o motor de ligação cria um ValidationError objeto e adiciona-o à Validation.Errors coleção do elemento atribuído. Quando Validation.Errors não é vazio, a Validation.HasError propriedade associada ao elemento é definida como
true. Além disso, se a propriedade NotifyOnValidationError do Binding estiver definida comotrue, o mecanismo de vinculação acionará o evento Validation.Error anexado no elemento.Se todas as regras passarem, o motor de ligação chama então o conversor, se existir.
Se o conversor passar, o motor de ligação chama o setter da propriedade da fonte.
Se o binding tiver um ExceptionValidationRule associado e uma exceção for lançada durante o passo 3 ou 4, o motor de binding verifica se existe um UpdateSourceExceptionFilter. Você pode usar o callback UpdateSourceExceptionFilter para fornecer um manipulador personalizado para lidar com as exceções. Se an UpdateSourceExceptionFilter não for especificado em , Bindingo motor de ligação cria a ValidationError com exceção e adiciona-o à Validation.Errors coleção do elemento ligado.
Uma transferência de valor válida em qualquer direção (alvo para fonte ou fonte para alvo) irá limpar a Validation.Errors propriedade anexada.
Construtores
| Name | Description |
|---|---|
| ValidationError(ValidationRule, Object, Object, Exception) |
Inicializa uma nova instância da ValidationError classe com os parâmetros especificados. |
| ValidationError(ValidationRule, Object) |
Inicializa uma nova instância da ValidationError classe com os parâmetros especificados. |
Propriedades
| Name | Description |
|---|---|
| BindingInError |
Obtém o BindingExpression ou MultiBindingExpression objeto deste ValidationError. O objeto está marcado explicitamente como inválido ou tem uma regra de validação falhada. |
| ErrorContent |
Obtém ou define um objeto que fornece contexto adicional para este ValidationError, como uma cadeia que descreve o erro. |
| Exception |
Obtém ou define o Exception objeto que foi a causa desta ValidationError, se o erro for resultado de uma exceção. |
| RuleInError |
Obtém ou define o ValidationRule objeto que foi a causa disto ValidationError, se o erro for resultado de uma regra de validação. |
Métodos
| Name | Description |
|---|---|
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |