EditContext Klasse

Definition

Enthält Metadaten im Zusammenhang mit einem Datenbearbeitungsprozess, z. B. Flags, um anzugeben, welche Felder geändert wurden, und die aktuelle Gruppe von Überprüfungsmeldungen.

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

Konstruktoren

Name Beschreibung
EditContext(Object)

Erstellt eine Instanz von EditContext.

Eigenschaften

Name Beschreibung
Model

Ruft das Modellobjekt für diese EditContextab.

Properties

Ruft eine Auflistung beliebiger Eigenschaften ab, die dieser Instanz zugeordnet sind.

ShouldUseFieldIdentifiers

Ruft ab, ob Feldbezeichner für <Eingabeelemente> generiert werden sollen.

Methoden

Name Beschreibung
AddValidationTask(FieldIdentifier, Task, CancellationTokenSource)

Registriert eine asynchrone Überprüfungsaufgabe für ein bestimmtes Feld. Die Aufgabe wird für ausstehende/fehlerhafte Zustandsabfragen über IsValidationPending(FieldIdentifier) und IsValidationFaulted(FieldIdentifier). Wenn ein Vorgang bereits für dieses Feld nachverfolgt wird, wird der zuvor registrierte CancellationTokenSource Vorgang abgebrochen, und der neue Vorgang ersetzt ihn. Die EditContext Eigentümerschaft der bereitgestellten cts: sie wird abgebrochen, wenn eine nachfolgende Überprüfung diesen ersetzt und nach task Abschluss verworfen wird.

Field(String)

Stellt einen FieldIdentifier entsprechenden Feldnamen für dieses EditContextFeld 's Modelbereit.

GetValidationMessages()

Ruft die aktuellen Überprüfungsmeldungen in allen Feldern ab.

Diese Methode führt keine Überprüfung selbst durch. Es werden nur Nachrichten zurückgegeben, die durch vorherige Überprüfungsaktionen bestimmt wurden.

GetValidationMessages(Expression<Func<Object>>)

Ruft die aktuellen Überprüfungsmeldungen für das angegebene Feld ab.

Diese Methode führt keine Überprüfung selbst durch. Es werden nur Nachrichten zurückgegeben, die durch vorherige Überprüfungsaktionen bestimmt wurden.

GetValidationMessages(FieldIdentifier)

Ruft die aktuellen Überprüfungsmeldungen für das angegebene Feld ab.

Diese Methode führt keine Überprüfung selbst durch. Es werden nur Nachrichten zurückgegeben, die durch vorherige Überprüfungsaktionen bestimmt wurden.

IsModified()

Bestimmt, ob eines der Felder in diesem EditContext Feld geändert wurde.

IsModified(Expression<Func<Object>>)

Bestimmt, ob die angegebenen Felder in dieser EditContext Eigenschaft geändert wurden.

IsModified(FieldIdentifier)

Bestimmt, ob die angegebenen Felder in dieser EditContext Eigenschaft geändert wurden.

IsValid(Expression<Func<Object>>)

Bestimmt, ob die angegebenen Felder in diesem EditContext Feld keine zugehörigen Überprüfungsmeldungen enthalten.

IsValid(FieldIdentifier)

Bestimmt, ob die angegebenen Felder in diesem EditContext Feld keine zugehörigen Überprüfungsmeldungen enthalten.

IsValidationFaulted()

Gibt zurück true , wenn der letzte ValidateAsync(CancellationToken) Durchlauf eine unbehandelte Ausnahme von einem beliebigen OnValidationRequestedAsync Handler beobachtet hat. Bei einem nachfolgenden erfolgreichen ValidateAsync(CancellationToken) Durchlauf wird die Kennzeichnung gelöscht. Ein abgebrochener Aufruferdurchlauf behält es bei. Verwenden Sie dies, um zu erkennen, dass die Überprüfung selbst fehlgeschlagen ist (nicht nur erstellte Überprüfungsmeldungen). Verwenden Sie die IsValidationFaulted(FieldIdentifier) Überladung für Feld-Validatorfehler pro AddValidationTask(FieldIdentifier, Task, CancellationTokenSource)Feld.

IsValidationFaulted(FieldIdentifier)

Gibt zurück true , wenn die letzte asynchrone Überprüfung des angegebenen Felds fehlerhaft ist (eine Ausnahme ohne Abbruch ausgelöst).

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

Gibt zurück true , wenn das durch die accessor letzte asynchrone Überprüfung des Ausdrucks identifiziertes Feld fehlerhaft ist (eine Ausnahme ohne Abbruch ausgelöst).

IsValidationPending()

Gibt zurück true , wenn sich ein Formularebenendurchlauf ValidateAsync(CancellationToken) zurzeit im Test-Flight befindet. Geeignet für das Steuern der formularweiten Benutzeroberfläche, z. B. Das Deaktivieren einer Übermittlungsschaltfläche oder das Anzeigen eines "Validierens..." Indikator für die aktuelle Übermittlung. Berücksichtigt ausstehende Vorgänge auf Feldebene nicht (diese werden beim Start des nächsten Formularebenendurchlaufs abgelöst); verwenden Sie die Überladung für den IsValidationPending(FieldIdentifier) Status pro Feld.

IsValidationPending(FieldIdentifier)

Gibt zurück true , wenn das angegebene Feld über einen ausstehenden asynchronen Überprüfungsvorgang verfügt. Eine Aufgabe ist "ausstehend", bis der Beobachter des Rahmens sein Ergebnis abgerechnet und den Slot gelöscht hat (d. h. nicht nur, bis die Aufgabe selbst abgeschlossen istfalse), damit ein Verbraucher, der wartetIsValidationPending(FieldIdentifier), auch den endgültigen IsValidationFaulted(FieldIdentifier) Wert sehen kann.

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

Gibt zurück true , wenn das vom accessor Ausdruck identifizierte Feld eine ausstehende asynchrone Überprüfungsaufgabe aufweist.

MarkAsUnmodified()

Löscht alle Änderungskennzeichnungen innerhalb dieses EditContextBereichs.

MarkAsUnmodified(FieldIdentifier)

Löscht alle Änderungskennzeichnungen, die für das angegebene Feld nachverfolgt werden können.

NotifyFieldChanged(FieldIdentifier)

Signalisiert, dass sich der Wert für das angegebene Feld geändert hat.

NotifyValidationStateChanged()

Signal, dass sich ein Aspekt des Überprüfungszustands geändert hat.

Validate()

Überprüft dies EditContext.

ValidateAsync(CancellationToken)

Überprüft dies EditContext asynchron. Bricht alle ausstehenden asynchronen Überprüfungsaufgaben auf Feldebene ab, ruft die synchronen OnValidationRequested Handler auf, ruft sie dann auf und wartet gleichzeitig auf die asynchronen OnValidationRequestedAsync Handler. Ausnahmen von synchronen Handlern werden an den Aufrufer weitergegeben, übereinstimmend Validate(). Jede Ausnahme ohne Abbruch, die von einem asynchronen Handler ausgelöst wird, ist enthalten: Das Formular wird als fehlerhaft markiert (über die Parameterlosigkeit feststellbar IsValidationFaulted()), und die Methode gibt zurück false. Während sich der asynchrone Teil in Flight befindet, gibt true der parameterlose IsValidationPending() Teil zurück, sodass Anwendungen eine globale "Validierung..." anzeigen können. Indikator, ohne den Anruf selbst umschließen zu müssen. Das Ergebnis auf Formularebene IsValidationFaulted() wird nur aktualisiert, wenn ein Durchlauf abgeschlossen ist. Er wird über gekündigte Durchläufe des Anrufers beibehalten.

Ereignisse

Name Beschreibung
OnFieldChanged

Ein Ereignis, das ausgelöst wird, wenn sich ein Feldwert ändert.

OnValidationRequested

Ein Ereignis, das ausgelöst wird, wenn die Überprüfung angefordert wird. Validator-Komponenten abonnieren dieses Ereignis, um eine synchrone Überprüfung durchzuführen.

OnValidationRequestedAsync

Ein asynchrones Ereignis, das ausgelöst wird, wenn eine Überprüfung angefordert wird. Validator-Komponenten abonnieren dieses Ereignis, um eine asynchrone Überprüfung durchzuführen (z. B. Datenbanksuche, Remote-API-Aufrufe). Handler werden von ValidateAsync(CancellationToken). Validate() ruft auch diese Handler auf, erfordert jedoch, dass jeder synchron abgeschlossen wird; wenn ein unvollständiger TaskWert zurückgegeben wird, Validate() wird InvalidOperationExceptionausgelöst.

OnValidationStateChanged

Ein Ereignis, das ausgelöst wird, wenn sich der Überprüfungsstatus geändert hat.

Erweiterungsmethoden

Name Beschreibung
AddDataAnnotationsValidation(EditContext)
Veraltet.

Fügt der DataAnnotations-Überprüfungsunterstützung hinzu EditContext.

EnableDataAnnotationsValidation(EditContext, IServiceProvider)

Aktiviert die DataAnnotations-Überprüfungsunterstützung für die EditContext.

EnableDataAnnotationsValidation(EditContext)
Veraltet.

Aktiviert die DataAnnotations-Überprüfungsunterstützung für die EditContext.

FieldCssClass(EditContext, FieldIdentifier)

Ruft eine Zeichenfolge ab, die den Status des angegebenen Felds als CSS-Klasse angibt.

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

Ruft eine Zeichenfolge ab, die den Status des angegebenen Felds als CSS-Klasse angibt. Dies umfasst je nach Status des Felds eine Kombination aus "geändert", "gültig" oder "ungültig".

SetFieldCssClassProvider(EditContext, FieldCssClassProvider)

Ordnet die gelieferten FieldCssClassProvider Informationen zu.EditContext Dadurch werden die in der EditContextDatei verwendeten Feld-CSS-Klassennamen angepasst.

Gilt für: