IValidationAttributeFormatter Interfaz

Definición

Da formato a una plantilla de mensaje de error de validación con argumentos específicos de atributo. Se usa en la canalización de localización de validación para generar mensajes de error totalmente formateados a partir de plantillas localizadas que contienen marcadores de posición posicionales más allá {0} (el nombre para mostrar).

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

Comentarios

Para agregar compatibilidad de formato para un atributo de validación personalizado, tiene dos opciones:

  1. Implemente IValidationAttributeFormatter directamente en el propio atributo. ValidationAttributeFormatterRegistry comprueba este primero y usa el atributo como formateador propio automáticamente.
  2. Cree una implementación independiente IValidationAttributeFormatter y regístrela mediante AttributeFormatters una llamada a AddFormatter<TAttribute>(Func<TAttribute,IValidationAttributeFormatter>).
En el ejemplo siguiente se muestra cómo registrar un formateador para un atributo personalizado:
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étodos

Nombre Description
FormatErrorMessage(CultureInfo, String, String)

Da formato al especificado messageTemplate sustituyendo argumentos específicos del atributo junto con .displayName

Se aplica a