ValidationError Clase

Definición

Representa un error de validación que se crea mediante el motor de enlace cuando un elemento ValidationRule notifica un error de validación o a través del método MarkInvalid(BindingExpressionBase, ValidationError) explícitamente.

public ref class ValidationError
public class ValidationError
type ValidationError = class
Public Class ValidationError
Herencia
ValidationError

Ejemplos

En el ejemplo siguiente se muestra un desencadenador de estilo que crea un ToolTip que notifica un mensaje de error de validación. La Validation.Errors propiedad adjunta devuelve una colección de ValidationError objetos en el elemento enlazado.

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

Comentarios

El modelo de enlace de datos de WPF permite asociar reglas de validación con el Binding objeto . La validación se produce durante la transferencia de valores de destino a origen antes de llamar al convertidor. A continuación se describe el proceso de validación.

  1. Cuando se transfiere un valor de la propiedad de destino a la propiedad de origen, el motor de enlace de datos quita primero cualquiera ValidationError que se haya agregado a la Validation.Errors propiedad adjunta del elemento enlazado. A continuación, comprueba si se definen reglas de validación personalizadas para ese Binding, en cuyo caso llama al Validate método en cada ValidationRule uno de ellos hasta que se produce un error en uno de ellos o hasta que se pasan todos.

  2. Una vez que hay una regla personalizada que no se pasa, el motor de enlace crea un ValidationError objeto y lo agrega a la Validation.Errors colección del elemento enlazado. Cuando Validation.Errors no está vacío, propiedad adjunta Validation.HasError del elemento se establece en true. Además, si la propiedad NotifyOnValidationError de Binding está establecida en true, el motor de enlace genera el evento adjunto Validation.Error en el elemento.

  3. Si se pasan todas las reglas, el motor de enlace llama al convertidor, si existe uno.

  4. Si el convertidor pasa, el motor de enlace llama al establecedor de la propiedad de origen.

  5. Si el enlace tiene asociado ExceptionValidationRule y se produce una excepción durante el paso 3 o 4, el motor de enlace comprueba si hay un UpdateSourceExceptionFilter. Puede usar la devolución de llamada de UpdateSourceExceptionFilter para proporcionar un controlador personalizado para controlar excepciones. Si no se especifica UpdateSourceExceptionFilter en Binding, el motor de enlace crea ValidationError con la excepción y lo agrega a la colección Validation.Errors del elemento enlazado.

Una transferencia de valores válida en cualquier dirección (de destino a origen o de origen a destino) borrará la Validation.Errors propiedad adjunta.

Constructores

ValidationError(ValidationRule, Object)

Inicializa una nueva instancia de la clase ValidationError con los parámetros especificados.

ValidationError(ValidationRule, Object, Object, Exception)

Inicializa una nueva instancia de la clase ValidationError con los parámetros especificados.

Propiedades

BindingInError

Obtiene el objeto BindingExpression o MultiBindingExpression de este objeto ValidationError. El objeto se marca explícitamente como no válido o tiene una regla de validación que ha generado un error.

ErrorContent

Obtiene o establece un objeto que proporciona contexto adicional para esta clase ValidationError, como una cadena que describe el error.

Exception

Obtiene o establece el objeto Exception que fue la causa de este objeto ValidationError si el error es el resultado de una excepción.

RuleInError

Obtiene o establece el objeto ValidationRule que fue la causa de este objeto ValidationError si el error es el resultado de una regla de validación.

Métodos

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a

Consulte también