Compartilhar via


ValidationError Classe

Definição

Representa um erro de validação criado pelo mecanismo de associação quando um relatório de ValidationRule um erro de validação ou por meio do MarkInvalid(BindingExpressionBase, ValidationError) método explicitamente.

public ref class ValidationError
public class ValidationError
type ValidationError = class
Public Class ValidationError
Herança
ValidationError

Exemplos

O exemplo a seguir mostra um gatilho de estilo que cria um ToolTip que relata uma mensagem de erro de validação. A Validation.Errors propriedade anexada retorna uma coleção de ValidationError objetos no elemento associado.

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

Comentários

O modelo de associação de dados do WPF permite associar regras de validação ao seu Binding objeto. A validação ocorre durante a transferência de valor de destino para origem antes que o conversor seja chamado. A seguir, descreve o processo de validação.

  1. Quando um valor está sendo transferido da propriedade de destino para a propriedade de origem, o mecanismo de associação de dados primeiro remove qualquer ValidationError um que possa ter sido adicionado à Validation.Errors propriedade anexada do elemento associado. Em seguida, verifica se as regras de validação personalizadas são definidas para isso Binding, nesse caso, ela chama o Validate método em cada ValidationRule uma delas até que uma delas falhe ou até que todas elas sejam aprovadas.

  2. Depois que há uma regra personalizada que não passa, o mecanismo de associação cria um ValidationError objeto e o Validation.Errors adiciona à coleção do elemento associado. Quando Validation.Errors não estiver vazio, a Validation.HasError propriedade anexada do elemento será definida como true. Além disso, se a NotifyOnValidationError propriedade do Binding conjunto for definida true, o mecanismo de associação gerará o Validation.Error evento anexado no elemento.

  3. Se todas as regras forem aprovadas, o mecanismo de associação chamará o conversor, se existir.

  4. Se o conversor for aprovado, o mecanismo de associação chamará o setter da propriedade de origem.

  5. Se a associação tiver uma associação ExceptionValidationRule associada a ela e uma exceção for lançada durante a etapa 3 ou 4, o mecanismo de associação verificará se há um UpdateSourceExceptionFilter. Você pode usar o UpdateSourceExceptionFilter retorno de chamada para fornecer um manipulador personalizado para lidar com exceções. Se um UpdateSourceExceptionFilter não for especificado no Bindingmecanismo de associação, o mecanismo de associação criará um ValidationError com a exceção e o Validation.Errors adicionará à coleção do elemento associado.

Uma transferência de valor válida em qualquer direção (destino para origem ou origem para destino) limpará a Validation.Errors propriedade anexada.

Construtores

Nome 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

Nome Description
BindingInError

Obtém o objeto ou MultiBindingExpression o BindingExpression objeto deste ValidationError. O objeto é marcado como inválido explicitamente ou tem uma regra de validação com falha.

ErrorContent

Obtém ou define um objeto que fornece contexto adicional para isso ValidationError, como uma cadeia de caracteres que descreve o erro.

Exception

Obtém ou define o Exception objeto que foi a causa disso ValidationError, se o erro for o resultado de uma exceção.

RuleInError

Obtém ou define o ValidationRule objeto que foi a causa disso ValidationError, se o erro for o resultado de uma regra de validação.

Métodos

Nome Description
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Confira também