EditContext Clase

Definición

Contiene metadatos relacionados con un proceso de edición de datos, como marcas para indicar qué campos se han modificado y el conjunto actual de mensajes de validación.

public ref class EditContext sealed
public sealed class EditContext
type EditContext = class
Public NotInheritable Class EditContext
Herencia
EditContext

Constructores

Nombre Description
EditContext(Object)

Construye una instancia de EditContext.

Propiedades

Nombre Description
Model

Obtiene el objeto de modelo para este EditContextobjeto .

Properties

Obtiene una colección de propiedades arbitrarias asociadas a esta instancia.

ShouldUseFieldIdentifiers

Obtiene si se deben generar identificadores de campo para <los elementos de entrada> .

Métodos

Nombre Description
AddValidationTask(FieldIdentifier, Task, CancellationTokenSource)

Registra una tarea de validación asincrónica para un campo específico. La tarea se realiza un seguimiento de las consultas de estado pendientes o erróneas a través IsValidationPending(FieldIdentifier) de y IsValidationFaulted(FieldIdentifier). Si ya se ha realizado un seguimiento de una tarea para este campo, se cancela el registro CancellationTokenSource anterior y la nueva tarea la reemplaza. Toma EditContext posesión del proporcionado cts: se cancelará si una validación posterior sustituye a esta y se elimina una vez task completada.

Field(String)

Proporciona un FieldIdentifier objeto correspondiente a un nombre de Modelcampo especificado en .EditContext

GetValidationMessages()

Obtiene los mensajes de validación actuales en todos los campos.

Este método no realiza la validación propiamente dicha. Solo devuelve mensajes determinados por acciones de validación anteriores.

GetValidationMessages(Expression<Func<Object>>)

Obtiene los mensajes de validación actuales para el campo especificado.

Este método no realiza la validación propiamente dicha. Solo devuelve mensajes determinados por acciones de validación anteriores.

GetValidationMessages(FieldIdentifier)

Obtiene los mensajes de validación actuales para el campo especificado.

Este método no realiza la validación propiamente dicha. Solo devuelve mensajes determinados por acciones de validación anteriores.

IsModified()

Determina si alguno de los campos de este EditContext objeto se ha modificado.

IsModified(Expression<Func<Object>>)

Determina si se han modificado los campos especificados en este EditContext objeto.

IsModified(FieldIdentifier)

Determina si se han modificado los campos especificados en este EditContext objeto.

IsValid(Expression<Func<Object>>)

Determina si los campos especificados en este EditContext objeto no tienen mensajes de validación asociados.

IsValid(FieldIdentifier)

Determina si los campos especificados en este EditContext objeto no tienen mensajes de validación asociados.

IsValidationFaulted()

Devuelve true si el paso más reciente ValidateAsync(CancellationToken) observó una excepción no controlada desde cualquier OnValidationRequestedAsync controlador. Un paso correcto ValidateAsync(CancellationToken) posterior borra la marca; un pase cancelado por el autor de la llamada lo conserva. Úselo para detectar que se produjo un error en la validación (no solo se generaron mensajes de validación). Para errores de validador por campo de AddValidationTask(FieldIdentifier, Task, CancellationTokenSource), use la IsValidationFaulted(FieldIdentifier) sobrecarga .

IsValidationFaulted(FieldIdentifier)

Devuelve true si se produjo un error en la última validación asincrónica del campo especificado (se produjo una excepción de no cancelación).

IsValidationFaulted<TField>(Expression<Func<TField>>)

Devuelve true si el campo identificado por la última validación asincrónica de la accessor expresión produjo un error (produjo una excepción de no cancelación).

IsValidationPending()

Devuelve true si un pase de nivel ValidateAsync(CancellationToken) de formulario está actualmente en curso. Adecuado para conducir la interfaz de usuario de todo el formulario, como deshabilitar un botón de envío o mostrar una "validación..." indicador del envío actual. No tiene en cuenta las tareas pendientes de nivel de campo (se sustituyen cuando se inicia el siguiente paso de nivel de formulario); use la IsValidationPending(FieldIdentifier) sobrecarga para el estado por campo.

IsValidationPending(FieldIdentifier)

Devuelve true si el campo especificado tiene una tarea de validación asincrónica pendiente. Una tarea está "pendiente" hasta que el observador del marco ha establecido su resultado y ha borrado la ranura (es decir, no solo hasta que se complete la tarea) de modo que se garantice que un consumidor que espere IsValidationPending(FieldIdentifier) a que se false convierta también en el valor final IsValidationFaulted(FieldIdentifier) .

IsValidationPending<TField>(Expression<Func<TField>>)

Devuelve true si el campo identificado por la accessor expresión tiene una tarea de validación asincrónica pendiente.

MarkAsUnmodified()

Borra todas las marcas de modificación dentro de este EditContext.

MarkAsUnmodified(FieldIdentifier)

Borra cualquier marca de modificación a la que se pueda realizar el seguimiento del campo especificado.

NotifyFieldChanged(FieldIdentifier)

Indica que el valor del campo especificado ha cambiado.

NotifyValidationStateChanged()

Indica que ha cambiado algún aspecto del estado de validación.

Validate()

Valida este EditContext.

ValidateAsync(CancellationToken)

Valida esto EditContext de forma asincrónica. Cancela las tareas pendientes de validación asincrónica de nivel de campo, invoca los controladores sincrónicos OnValidationRequested y, a continuación, invoca y espera a los controladores asincrónicos OnValidationRequestedAsync simultáneamente. Las excepciones de los controladores sincrónicos se propagan al autor de la llamada, que coinciden con Validate(). Se incluye cualquier excepción de no cancelación producida por un controlador asincrónico: el formulario se marca como erróneo (observable a través del sin parámetros IsValidationFaulted()) y el método devuelve false. Mientras la parte asincrónica está en curso, el valor sin IsValidationPending() parámetros devuelve true para que las aplicaciones puedan mostrar una "validación..." global. indicador sin ajustar la llamada a sí mismos. El resultado de nivel IsValidationFaulted() de formulario solo se actualiza cuando se completa un pase; se conserva en los pases cancelados por el autor de la llamada.

Eventos

Nombre Description
OnFieldChanged

Evento que se genera cuando cambia un valor de campo.

OnValidationRequested

Evento que se genera cuando se solicita la validación. Los componentes del validador se suscriben a este evento para realizar la validación sincrónica.

OnValidationRequestedAsync

Evento asincrónico que se genera cuando se solicita la validación. Los componentes del validador se suscriben a este evento para realizar la validación asincrónica (por ejemplo, búsquedas de base de datos, llamadas API remotas). Los controladores son esperados por ValidateAsync(CancellationToken). Validate() también invoca estos controladores, pero requiere que cada uno se complete de forma sincrónica; si alguno devuelve un elemento incompleto Task, Validate() produce InvalidOperationException.

OnValidationStateChanged

Evento que se genera cuando el estado de validación ha cambiado.

Métodos de extensión

Nombre Description
AddDataAnnotationsValidation(EditContext)
Obsoletos.

Agrega compatibilidad con la validación de DataAnnotations a .EditContext

EnableDataAnnotationsValidation(EditContext, IServiceProvider)

Habilita la compatibilidad de validación de DataAnnotations para .EditContext

EnableDataAnnotationsValidation(EditContext)
Obsoletos.

Habilita la compatibilidad de validación de DataAnnotations para .EditContext

FieldCssClass(EditContext, FieldIdentifier)

Obtiene una cadena que indica el estado del campo especificado como una clase CSS.

FieldCssClass<TField>(EditContext, Expression<Func<TField>>)

Obtiene una cadena que indica el estado del campo especificado como una clase CSS. Esto incluirá alguna combinación de "modificado", "válido" o "no válido", según el estado del campo.

SetFieldCssClassProvider(EditContext, FieldCssClassProvider)

Asocia el proporcionado FieldCssClassProvider con el proporcionado EditContext. Esto personaliza los nombres de clase CSS de campo usados en .EditContext

Se aplica a