Język

IValidationAttributeFormatter Interfejs

Definicja

Formatuje szablon komunikatu o błędzie weryfikacji z argumentami specyficznymi dla atrybutów. Używany przez potok lokalizacji weryfikacji do tworzenia w pełni sformatowanych komunikatów o błędach z zlokalizowanych szablonów zawierających symbole zastępcze pozycyjne poza {0} (nazwa wyświetlana).

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

Uwagi

Aby dodać obsługę formatowania dla niestandardowego atrybutu weryfikacji, dostępne są dwie opcje:

  1. Zaimplementuj IValidationAttributeFormatter bezpośrednio na samym atrybucie. ValidationAttributeFormatterRegistry sprawdza to jako pierwszy i automatycznie używa atrybutu jako własnego formatującego.
  2. Utwórz oddzielną IValidationAttributeFormatter implementację i zarejestruj ją za pomocą wywołania AttributeFormatters metody AddFormatter<TAttribute>(Func<TAttribute,IValidationAttributeFormatter>).
W poniższym przykładzie pokazano, jak zarejestrować program formatujący dla atrybutu niestandardowego:
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)));

Metody

Nazwisko Opis
FormatErrorMessage(CultureInfo, String, String)

Formatuje określony messageTemplate przez podstawianie argumentów specyficznych dla atrybutu obok .displayName

Dotyczy