EditContext Classe

Définition

Contient les métadonnées liées à un processus de modification des données, telles que des indicateurs pour indiquer les champs qui ont été modifiés et l’ensemble actuel de messages de validation.

public ref class EditContext sealed
public sealed class EditContext
type EditContext = class
Public NotInheritable Class EditContext
Héritage
EditContext

Constructeurs

Nom Description
EditContext(Object)

Construit une instance de EditContext.

Propriétés

Nom Description
Model

Obtient l’objet de modèle pour cet EditContextobjet .

Properties

Obtient une collection de propriétés arbitraires associées à cette instance.

ShouldUseFieldIdentifiers

Obtient si les identificateurs de champ doivent être générés pour <les éléments d’entrée> .

Méthodes

Nom Description
AddValidationTask(FieldIdentifier, Task, CancellationTokenSource)

Inscrit une tâche de validation asynchrone pour un champ spécifique. La tâche est suivie pour les requêtes d’état en attente/défaillantes via IsValidationPending(FieldIdentifier) et IsValidationFaulted(FieldIdentifier). Si une tâche est déjà suivie pour ce champ, la tâche précédemment inscrite CancellationTokenSource est annulée et la nouvelle tâche la remplace. La EditContext prise en charge de l’élément fourni ctsest annulée si une validation ultérieure remplace celle-ci et qu’elle est supprimée une fois task terminée.

Field(String)

Fournit un FieldIdentifier nom de champ correspondant à un nom de champ spécifié sur ce EditContextchamp Model.

GetValidationMessages()

Obtient les messages de validation actuels sur tous les champs.

Cette méthode n’effectue pas de validation elle-même. Elle retourne uniquement les messages déterminés par les actions de validation précédentes.

GetValidationMessages(Expression<Func<Object>>)

Obtient les messages de validation actuels pour le champ spécifié.

Cette méthode n’effectue pas de validation elle-même. Elle retourne uniquement les messages déterminés par les actions de validation précédentes.

GetValidationMessages(FieldIdentifier)

Obtient les messages de validation actuels pour le champ spécifié.

Cette méthode n’effectue pas de validation elle-même. Elle retourne uniquement les messages déterminés par les actions de validation précédentes.

IsModified()

Détermine si l’un des champs de ce EditContext champ a été modifié.

IsModified(Expression<Func<Object>>)

Détermine si les champs spécifiés dans ce EditContext champ ont été modifiés.

IsModified(FieldIdentifier)

Détermine si les champs spécifiés dans ce EditContext champ ont été modifiés.

IsValid(Expression<Func<Object>>)

Détermine si les champs spécifiés dans ce EditContext champ n’ont aucun message de validation associé.

IsValid(FieldIdentifier)

Détermine si les champs spécifiés dans ce EditContext champ n’ont aucun message de validation associé.

IsValidationFaulted()

Retourne true si la passe la plus récente ValidateAsync(CancellationToken) a observé une exception non gérée à partir de n’importe quel OnValidationRequestedAsync gestionnaire. Une passe réussie suivante ValidateAsync(CancellationToken) efface l’indicateur ; une passe annulée par l’appelant la conserve. Utilisez cette option pour détecter que la validation elle-même a échoué (pas seulement les messages de validation générés). Pour les erreurs de validateur par champ, AddValidationTask(FieldIdentifier, Task, CancellationTokenSource)utilisez la IsValidationFaulted(FieldIdentifier) surcharge.

IsValidationFaulted(FieldIdentifier)

Retourne true si la dernière validation asynchrone du champ spécifié a été défectueuse (a levé une exception non-annulation).

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

Retourne true si le champ identifié par la dernière validation asynchrone de l’expression accessor a été défectueux (a levé une exception sans annulation).

IsValidationPending()

Retourne true si une passe au niveau ValidateAsync(CancellationToken) du formulaire est actuellement en cours de vol. Adapté à la conduite de l’interface utilisateur à l’échelle du formulaire, comme la désactivation d’un bouton d’envoi ou l’affichage d’une « validation ... » indicateur de la soumission actuelle. Ne prend pas en compte les tâches en attente au niveau du champ (celles-ci sont remplacées au démarrage de la passe au niveau du formulaire suivante) ; utilisez la surcharge pour l’état IsValidationPending(FieldIdentifier) par champ.

IsValidationPending(FieldIdentifier)

Retourne true si le champ spécifié a une tâche de validation asynchrone en attente. Une tâche est « en attente » jusqu’à ce que l’observateur du framework ait réglé son résultat et effacé l’emplacement (c’est-à-dire non seulement tant que la tâche elle-même n’est pas terminée) afin qu’un consommateur qui attend IsValidationPending(FieldIdentifier) de devenir false soit garanti pour voir également la valeur finale IsValidationFaulted(FieldIdentifier) .

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

Retourne true si le champ identifié par l’expression accessor a une tâche de validation asynchrone en attente.

MarkAsUnmodified()

Efface tous les indicateurs de modification dans ce EditContext.

MarkAsUnmodified(FieldIdentifier)

Efface tout indicateur de modification qui peut être suivi pour le champ spécifié.

NotifyFieldChanged(FieldIdentifier)

Signale que la valeur du champ spécifié a changé.

NotifyValidationStateChanged()

Signale que certains aspects de l’état de validation ont changé.

Validate()

Valide cette EditContextopération .

ValidateAsync(CancellationToken)

Valide cette opération EditContext de façon asynchrone. Annule toutes les tâches de validation asynchrone au niveau du champ en attente, appelle les gestionnaires synchrones OnValidationRequested , puis appelle et attend les gestionnaires asynchrones OnValidationRequestedAsync simultanément. Les exceptions des gestionnaires synchrones se propagent à l’appelant, correspondant Validate(). Toute exception non-annulation levée par un gestionnaire asynchrone est contenue : le formulaire est marqué comme défectueux (observable via le paramètreless IsValidationFaulted()) et la méthode retourne false. Pendant que la partie asynchrone est en cours, les retours true sans IsValidationPending() paramètre permettent aux applications d’afficher une « validation » globale. indicateur sans encapsuler l’appel lui-même. Le résultat au niveau IsValidationFaulted() du formulaire est mis à jour uniquement lorsqu’une passe est terminée ; elle est conservée entre les passes annulées par l’appelant.

Événements

Nom Description
OnFieldChanged

Événement déclenché lorsqu’une valeur de champ change.

OnValidationRequested

Événement déclenché lorsque la validation est demandée. Les composants de validateur s’abonnent à cet événement pour effectuer une validation synchrone.

OnValidationRequestedAsync

Événement asynchrone déclenché lorsque la validation est demandée. Les composants de validateur s’abonnent à cet événement pour effectuer une validation asynchrone (par exemple, recherches de base de données, appels d’API distants). Les gestionnaires sont attendus par ValidateAsync(CancellationToken). Validate() appelle également ces gestionnaires, mais nécessite que chacun se termine de façon synchrone ; si un retour est incomplet Task, Validate() lève InvalidOperationException.

OnValidationStateChanged

Événement déclenché lorsque l’état de validation a changé.

Méthodes d’extension

Nom Description
AddDataAnnotationsValidation(EditContext)
Obsolète.

Ajoute la prise en charge de la validation DataAnnotations au EditContext.

EnableDataAnnotationsValidation(EditContext, IServiceProvider)

Active la prise en charge de la validation dataAnnotations pour le EditContext.

EnableDataAnnotationsValidation(EditContext)
Obsolète.

Active la prise en charge de la validation dataAnnotations pour le EditContext.

FieldCssClass(EditContext, FieldIdentifier)

Obtient une chaîne qui indique l’état du champ spécifié en tant que classe CSS.

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

Obtient une chaîne qui indique l’état du champ spécifié en tant que classe CSS. Cela inclut une combinaison de « modifiés », « valides » ou « non valides », en fonction de l’état du champ.

SetFieldCssClassProvider(EditContext, FieldCssClassProvider)

Associe l’élément fourni FieldCssClassProvider au fichier fourni EditContext. Cela personnalise les noms de classes CSS de champ utilisés dans le EditContext.

S’applique à