IValidationAttributeFormatter Gränssnitt

Definition

Formaterar en mall för verifieringsfelmeddelanden med attributspecifika argument. Används av pipelinen för verifieringslokalisering för att skapa fullständigt formaterade felmeddelanden från lokaliserade mallar som innehåller positionsplatshållare utöver {0} (visningsnamnet).

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

Kommentarer

Om du vill lägga till formateringsstöd för ett anpassat valideringsattribut har du två alternativ:

  1. Implementera IValidationAttributeFormatter direkt på själva attributet. ValidationAttributeFormatterRegistry söker efter detta först och använder attributet som sin egen formatering automatiskt.
  2. Skapa en separat IValidationAttributeFormatter implementering och registrera den via AttributeFormatters genom att anropa AddFormatter<TAttribute>(Func<TAttribute,IValidationAttributeFormatter>).
I följande exempel visas hur du registrerar en formaterare för ett anpassat attribut:
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)));

Metoder

Name Description
FormatErrorMessage(CultureInfo, String, String)

Formaterar de angivna messageTemplate genom att ersätta attributspecifika argument tillsammans med displayName.

Gäller för