IValidationAttributeFormatter Schnittstelle

Definition

Formatiert eine Validierungsfehlermeldungsvorlage mit attributspezifischen Argumenten. Wird von der Validierungslokalisierungspipeline verwendet, um vollständig formatierte Fehlermeldungen aus lokalisierten Vorlagen zu erzeugen, die positionale Platzhalter enthalten, die darüber hinausgehen {0} (der Anzeigename).

public interface class IValidationAttributeFormatter
public interface IValidationAttributeFormatter
type IValidationAttributeFormatter = interface
Public Interface IValidationAttributeFormatter

Hinweise

Zum Hinzufügen der Formatierungsunterstützung für ein benutzerdefiniertes Überprüfungsattribut haben Sie zwei Optionen:

  1. Implementieren Sie IValidationAttributeFormatter direkt für das Attribut selbst. ValidationAttributeFormatterRegistry sucht zuerst nach diesem Attribut und verwendet das Attribut automatisch als eigenen Formatierer.
  2. Erstellen Sie eine separate IValidationAttributeFormatter Implementierung, und registrieren Sie sie durch AttributeFormatters Aufrufen AddFormatter<TAttribute>(Func<TAttribute,IValidationAttributeFormatter>).
Das folgende Beispiel zeigt, wie Sie einen Formatierer für ein benutzerdefiniertes Attribut registrieren:
public class MyAttributeFormatter(MyAttribute attribute) : IValidationAttributeFormatter
{
    public string FormatErrorMessage(CultureInfo culture, string messageTemplate, string displayName)
        => string.Format(culture, messageTemplate, displayName, attribute.CustomProperty);
}

// Register it in Program.cs:
builder.Services.AddValidationLocalization(options =>
    options.AttributeFormatters.AddFormatter<MyAttribute>(
        attribute => new MyAttributeFormatter(attribute)));

Methoden

Name Beschreibung
FormatErrorMessage(CultureInfo, String, String)

Formatiert das angegebene Argument messageTemplate durch Substituieren attributspezifischer Argumente zusammen mit dem displayName.

Gilt für: