Validation.Errors Attached Property

Definition

Obtiene la colección de todos los objetos ValidationError activos en el elemento enlazado.Gets the collection of all active ValidationError objects on the bound element.

see GetErrors
see GetErrors
see GetErrors

Remarks

La aplicación no puede modificar el contenido de esta colección.The application cannot modify the content of this collection. Vea la sección ejemplo para obtener un ejemplo de cómo usar esta propiedad adjunta.See the Example section for an example of how to use this attached property.

El modelo de enlace de datos de WPF permite asociar ValidationRules con el objeto Binding.The WPF data binding model enables you to associate ValidationRules with your Binding object. La validación se produce durante la transferencia del valor de origen al enlace del destino de enlace antes de llamar al convertidor.Validation occurs during binding target-to-binding source value transfer before the converter is called. A continuación se describe el proceso de validación:The following describes the validation process:

  1. Cuando se transfiere un valor desde la propiedad de destino a la propiedad de origen, el motor de enlace de datos quita primero cualquier ValidationError que se pueda haber agregado a la System.Windows.Controls.Validation.Errors propiedad adjunta del elemento enlazado.When a value is being transferred from the target property to the source property, the data binding engine first removes any ValidationError that may have been added to the System.Windows.Controls.Validation.Errors attached property of the bound element. A continuación, comprueba si hay algún ValidationRulepersonalizado definido para ese Binding, en cuyo caso llama al método Validate en cada uno de los ValidationRules hasta que uno de ellos se ejecuta en un error o hasta que todos ellos pasan.It then checks if there are any custom ValidationRules defined for that Binding, in which case it calls the Validate method on each of the ValidationRules until one of them runs into an error or until all of them pass.

  2. Una vez que hay una regla personalizada que no se pasa, el motor de enlace crea un objeto ValidationError y lo agrega a la colección System.Windows.Controls.Validation.Errors del elemento enlazado.Once there is a custom rule that does not pass, the binding engine creates a ValidationError object and adds it to the System.Windows.Controls.Validation.Errors collection of the bound element. Cuando System.Windows.Controls.Validation.Errors no está vacío, propiedad adjunta System.Windows.Controls.Validation.HasError del elemento se establece en true.When System.Windows.Controls.Validation.Errors is not empty, the System.Windows.Controls.Validation.HasError attached property of the element is set to true. Además, si la propiedad NotifyOnValidationError de Binding está establecida en true, el motor de enlace genera el evento adjunto System.Windows.Controls.Validation.Error en el elemento.Also, if the NotifyOnValidationError property of the Binding is set to true, then the binding engine raises the System.Windows.Controls.Validation.Error attached event on the element.

  3. Si todas las reglas pasan, el motor de enlace llama entonces al convertidor, si existe uno.If all of the rules pass, the binding engine then calls the converter, if one exists.

  4. Si se pasa el convertidor, el motor de enlace llama al establecedor de la propiedad de origen.If the converter passes, the binding engine calls the setter of the source property.

  5. Si el enlace tiene una ExceptionValidationRule asociada y se produce una excepción durante el paso 4, el motor de enlace comprueba para ver si hay un UpdateSourceExceptionFilter.If the binding has an ExceptionValidationRule associated with it and an exception is thrown during step 4, the binding engine checks to see if there is a UpdateSourceExceptionFilter. Tiene la opción de usar la devolución de llamada de UpdateSourceExceptionFilter para proporcionar un controlador personalizado para controlar excepciones.You have the option to use the UpdateSourceExceptionFilter callback to provide a custom handler for handling exceptions. Si no se especifica UpdateSourceExceptionFilter en Binding, el motor de enlace crea ValidationError con la excepción y lo agrega a la colección System.Windows.Controls.Validation.Errors del elemento enlazado.If an UpdateSourceExceptionFilter is not specified on the Binding, the binding engine creates a ValidationError with the exception and adds it to the System.Windows.Controls.Validation.Errors collection of the bound element.

Tenga en cuenta también que una transferencia de valor válida en cualquier dirección (de destino a origen o de origen a destino) borra el Validation.Errorspropiedad adjunta.Also note that a valid value transfer in either direction (target-to-source or source-to-target) clears the Validation.Errorsattached property.

Para obtener información sobre el comportamiento de esta propiedad en MultiBinding escenarios, vea ValidationError.For information about the behavior of this property in MultiBinding scenarios, see ValidationError.

Para obtener más información, vea "validación de datos" en información general sobre el enlace de datos.For more information, see "Data Validation" in Data Binding Overview.

Uso de texto XAMLXAML Text Usage

Vea la sección Comentarios.See Remarks. La propia colección de Errors no es configurable por el usuario, pero se puede utilizar en una definición de plantilla de control en XAML.The Errors collection itself is not user settable, but you can use it in a control template definition in XAML.

Información sobre propiedades de dependenciaDependency Property Information

Campo de identificadorIdentifier field ErrorsProperty
Propiedades de metadatos establecidas en trueMetadata properties set to true IsNotDataBindable

Applies to