IValidationAttributeFormatter Interface

Definitie

Hiermee wordt een sjabloon voor validatiefouten met kenmerkspecifieke argumenten opgemaakt. Wordt gebruikt door de validatielokalisatiepijplijn om volledig opgemaakte foutberichten te produceren van gelokaliseerde sjablonen die positionele tijdelijke aanduidingen buiten {0} (de weergavenaam) bevatten.

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

Opmerkingen

Als u opmaakondersteuning voor een aangepast validatiekenmerk wilt toevoegen, hebt u twee opties:

  1. Implementeer IValidationAttributeFormatter rechtstreeks op het kenmerk zelf. ValidationAttributeFormatterRegistry controleert eerst op dit kenmerk en gebruikt het kenmerk automatisch als een eigen formatter.
  2. Maak een afzonderlijke IValidationAttributeFormatter implementatie en registreer deze via AttributeFormatters door aan te roepen AddFormatter<TAttribute>(Func<TAttribute,IValidationAttributeFormatter>).
In het volgende voorbeeld ziet u hoe u een formatter registreert voor een aangepast kenmerk:
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 Description
FormatErrorMessage(CultureInfo, String, String)

Hiermee wordt de opgegeven indeling opgemaakt messageTemplate door kenmerkspecifieke argumenten naast de displayName.

Van toepassing op