FluentValidation自定义类型转换错误消息

时间:2019-04-30 09:51:11

标签: c# fluentvalidation

是否可以显示自定义类型转换错误消息?

我在模型中拥有Nullable<DateTime>属性。 如果我将诸如1之类的废话值传递给DateTime,则会收到错误消息:

The field {propertyName} must be a date.

如何覆盖此消息?

2 个答案:

答案 0 :(得分:0)

您可以在规则中指定错误消息:

public class ModelValidator : AbstractValidator<MyModel>
{
    public ModelValidator()
    {
        RuleFor(x => x.StartDate)
            .WithMessage("Invalid start date");
    }
}

答案 1 :(得分:0)

显示此消息的原因是由于html属性:

data-val-date="The field {propertyName} must be a date."

我通过手动插入此属性来解决此问题

var attributes = new RouteValueDictionary(new Dictionary<string, object>())
    {
        { "data-val-date", "CUSTOM_MESSAGE_HERE" }
    };