← Volver al blog
C# FluentValidation: validadores personalizados con mensajes de error dinámicos
- Publicado el
- • 1 min de lectura•--- vistas
Enlace del proyecto: [FluentValidation Custom Validators]
Artículo útil si quieres personalizar tu validación (por ejemplo, enlazar parámetros a tu mensaje de error): [link]
Aquí tienes un ejemplo de un validador personalizado con mensajes de error que usan enlace de parámetros (gracias al usuario danludwig), de esta publicación de StackOverflow: [link]
public class IsProcessFileValid : PropertyValidator
{
public IsProcessFileValid(): base({ValidationMessage}) {}
protected override IsValid(PropertyValidatorContext context)
{
if (!IsProcessFileValid1(context))
context.MessageFormatter.AppendArgument(ValidationMessage,
Custom validation message #1);
if (!IsProcessFileValid2(context))
context.MessageFormatter.AppendArgument(ValidationMessage,
Custom validation message #2);
// ...etc
return true;
}
private bool IsProcessFileValid1(PropertyValidatorContext context)
{
// logic
return false;
}
private bool IsProcessFileValid2(PropertyValidatorContext context)
{
// logic
return false;
}
// ...etc
}
public static class IsProcessFileValidExtensions
{
public static IRuleBuilderOptions<T, object> MustBeValidProcessFile<T>
(this IRuleBuilder<T, object> ruleBuilder)
{
return ruleBuilder.SetValidator(new IsProcessFileValid());
}
}
public CreateProcessValidator()
{
RuleFor(x => x.ProcessFile).MustBeValidProcessFile();
}
Índice
Disponible para colaboración por contrato
Estoy disponible para colaborar por contrato. Si tiene una idea de proyecto interesante, reserve una llamada por Calendly.
Agenda una llamada de 30 min