IValidationAttributeFormatter Interface

Définition

Met en forme un modèle de message d’erreur de validation avec des arguments spécifiques à l’attribut. Utilisé par le pipeline de localisation de validation pour produire des messages d’erreur entièrement mis en forme à partir de modèles localisés qui contiennent des espaces réservés positionnels au-delà {0} (le nom complet).

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

Remarques

Pour ajouter la prise en charge de la mise en forme d’un attribut de validation personnalisé, vous avez deux options :

  1. Implémentez IValidationAttributeFormatter directement sur l’attribut lui-même. ValidationAttributeFormatterRegistry vérifie cette première fois et utilise automatiquement l’attribut comme propre formateur.
  2. Créez une implémentation distincte IValidationAttributeFormatter et inscrivez-la via AttributeFormatters l’appel AddFormatter<TAttribute>(Func<TAttribute,IValidationAttributeFormatter>).
L’exemple suivant montre comment inscrire un formateur pour un attribut personnalisé :
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)));

Méthodes

Nom Description
FormatErrorMessage(CultureInfo, String, String)

Met en forme le spécifié messageTemplate en remplaçant les arguments spécifiques à l’attribut en même temps que le displayName.

S’applique à