EditContext Classe

Definizione

Contiene i metadati correlati a un processo di modifica dei dati, ad esempio i flag per indicare quali campi sono stati modificati e il set corrente di messaggi di convalida.

public ref class EditContext sealed
public sealed class EditContext
type EditContext = class
Public NotInheritable Class EditContext
Ereditarietà
EditContext

Costruttori

Nome Descrizione
EditContext(Object)

Costruisce un'istanza di EditContext.

Proprietà

Nome Descrizione
Model

Ottiene l'oggetto modello per l'oggetto EditContext.

Properties

Ottiene una raccolta di proprietà arbitrarie associate a questa istanza.

ShouldUseFieldIdentifiers

Ottiene un valore che indica se gli identificatori di campo devono essere generati per <gli elementi di input> .

Metodi

Nome Descrizione
AddValidationTask(FieldIdentifier, Task, CancellationTokenSource)

Registra un'attività di convalida asincrona per un campo specifico. L'attività viene rilevata per le query sullo stato in sospeso/con errori tramite IsValidationPending(FieldIdentifier) e IsValidationFaulted(FieldIdentifier). Se un'attività è già registrata per questo campo, l'attività registrata CancellationTokenSource in precedenza viene annullata e la nuova attività la sostituisce. L'oggetto EditContext acquisisce la proprietà dell'oggetto fornito cts: verrà annullato se una convalida successiva sostituisce quella e eliminata una volta task completata.

Field(String)

Fornisce un FieldIdentifier oggetto corrispondente a un nome di campo specificato in questo EditContextoggetto .Model

GetValidationMessages()

Ottiene i messaggi di convalida correnti in tutti i campi.

Questo metodo non esegue la convalida stessa. Restituisce solo messaggi determinati dalle azioni di convalida precedenti.

GetValidationMessages(Expression<Func<Object>>)

Ottiene i messaggi di convalida correnti per il campo specificato.

Questo metodo non esegue la convalida stessa. Restituisce solo messaggi determinati dalle azioni di convalida precedenti.

GetValidationMessages(FieldIdentifier)

Ottiene i messaggi di convalida correnti per il campo specificato.

Questo metodo non esegue la convalida stessa. Restituisce solo messaggi determinati dalle azioni di convalida precedenti.

IsModified()

Determina se uno dei campi in questo EditContext oggetto è stato modificato.

IsModified(Expression<Func<Object>>)

Determina se i campi specificati in questo EditContext oggetto sono stati modificati.

IsModified(FieldIdentifier)

Determina se i campi specificati in questo EditContext oggetto sono stati modificati.

IsValid(Expression<Func<Object>>)

Determina se i campi specificati in questo EditContext oggetto non hanno messaggi di convalida associati.

IsValid(FieldIdentifier)

Determina se i campi specificati in questo EditContext oggetto non hanno messaggi di convalida associati.

IsValidationFaulted()

Restituisce true se il passaggio più recente ValidateAsync(CancellationToken) ha osservato un'eccezione non gestita da qualsiasi OnValidationRequestedAsync gestore. Un passaggio successivo ValidateAsync(CancellationToken) cancella il flag; un pass annullato dal chiamante lo mantiene. Usare questa opzione per rilevare che la convalida stessa non è riuscita (non solo i messaggi di convalida generati). Per gli errori del validator per campo da AddValidationTask(FieldIdentifier, Task, CancellationTokenSource), usare l'overload IsValidationFaulted(FieldIdentifier) .

IsValidationFaulted(FieldIdentifier)

Restituisce true se l'ultima convalida asincrona del campo specificato ha generato un'eccezione non di annullamento.

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

Restituisce true se il campo identificato dall'ultimo accessor errore di convalida asincrona dell'espressione (ha generato un'eccezione non di annullamento).

IsValidationPending()

Restituisce true se un passaggio a livello ValidateAsync(CancellationToken) di modulo è attualmente in anteprima. Adatto per la guida dell'interfaccia utente a livello di modulo, ad esempio la disabilitazione di un pulsante di invio o la visualizzazione di una "convalida..." indicatore per l'invio corrente. Non considera le attività in sospeso a livello di campo (queste vengono sostituite all'avvio del passaggio successivo a livello di modulo); utilizzare l'overload IsValidationPending(FieldIdentifier) per lo stato per campo.

IsValidationPending(FieldIdentifier)

Restituisce true se il campo specificato dispone di un'attività di convalida asincrona in sospeso. Un'attività è "in sospeso" fino a quando l'osservatore del framework non ha stabilito il suo risultato e ha cancellato lo slot (ad esempio, non solo fino al completamento dell'attività stessa) in modo che un consumer che attende IsValidationPending(FieldIdentifier) di diventare false è garantito anche di vedere il valore finale IsValidationFaulted(FieldIdentifier) .

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

Restituisce true se il campo identificato dall'espressione ha un'attività accessor di convalida asincrona in sospeso.

MarkAsUnmodified()

Cancella tutti i flag di modifica all'interno di questo EditContextoggetto .

MarkAsUnmodified(FieldIdentifier)

Cancella tutti i flag di modifica che possono essere rilevati per il campo specificato.

NotifyFieldChanged(FieldIdentifier)

Segnala che il valore per il campo specificato è stato modificato.

NotifyValidationStateChanged()

Segnala che alcuni aspetti dello stato di convalida sono cambiati.

Validate()

Convalida l'oggetto EditContext.

ValidateAsync(CancellationToken)

Convalida questa operazione EditContext in modo asincrono. Annulla tutte le attività di convalida asincrone a livello di campo in sospeso, richiama i gestori sincroni OnValidationRequested , quindi richiama e attende i gestori asincroni OnValidationRequestedAsync contemporaneamente. Le eccezioni dei gestori sincroni vengono propagate al chiamante, corrispondente Validate()a . Qualsiasi eccezione non di annullamento generata da un gestore asincrono è contenuta: il modulo viene contrassegnato come difettoso (osservabile tramite l'oggetto senza IsValidationFaulted()parametri ) e il metodo restituisce false. Mentre la parte asincrona è in anteprima, il risultato senza IsValidationPending() parametri viene restituito true in modo che le applicazioni possano visualizzare una "convalida" globale. indicatore senza avvolgere la chiamata stessa. Il risultato a livello IsValidationFaulted() di modulo viene aggiornato solo al completamento di un passaggio, che viene mantenuto tra i passaggi annullati dal chiamante.

Eventi

Nome Descrizione
OnFieldChanged

Evento generato quando viene modificato un valore di campo.

OnValidationRequested

Evento generato quando viene richiesta la convalida. I componenti di validator sottoscrivono questo evento per eseguire la convalida sincrona.

OnValidationRequestedAsync

Evento asincrono generato quando viene richiesta la convalida. I componenti validator sottoscrivono questo evento per eseguire la convalida asincrona (ad esempio, ricerche di database, chiamate API remote). I gestori sono attesi da ValidateAsync(CancellationToken). Validate() richiama anche questi gestori, ma richiede che ognuno completi in modo sincrono; se un oggetto restituisce un oggetto incompleto Task, Validate() genera InvalidOperationException.

OnValidationStateChanged

Evento generato quando lo stato di convalida è stato modificato.

Metodi di estensione

Nome Descrizione
AddDataAnnotationsValidation(EditContext)
Obsoleti.

Aggiunge il supporto per la convalida di DataAnnotations all'oggetto EditContext.

EnableDataAnnotationsValidation(EditContext, IServiceProvider)

Abilita il supporto per la convalida di DataAnnotations per .EditContext

EnableDataAnnotationsValidation(EditContext)
Obsoleti.

Abilita il supporto per la convalida di DataAnnotations per .EditContext

FieldCssClass(EditContext, FieldIdentifier)

Ottiene una stringa che indica lo stato del campo specificato come classe CSS.

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

Ottiene una stringa che indica lo stato del campo specificato come classe CSS. Ciò includerà una combinazione di "modificato", "valido" o "non valido", a seconda dello stato del campo.

SetFieldCssClassProvider(EditContext, FieldCssClassProvider)

Associa l'oggetto fornito FieldCssClassProvider all'oggetto fornito EditContext. In questo modo vengono personalizzati i nomi delle classi CSS del campo usati all'interno di EditContext.

Si applica a