首页 > 解决方案 > 如何在 FluentValidation 中返回整个模型的键

问题描述

想象一下,你有这个模型

public Class SomeModel 
{
    public string someString1 { get; set; }
    public string someString2 { get; set; }
}

现在您要验证此模型。在 FluentValidation 中,您为模型/类上的每个属性编写 this.RuleFor(m => m.{property} ,当发生验证错误时,您将获得验证失败的属性的键和一条消息。

现在,我想知道的是,当整个模型从验证返回错误时,如何为整个模型设置一个键,该错误验证两个或多个属性。(例如 this.RuleFor(m => m).TestIfPropsAreEqual(); )解决这个问题的正确方法是什么?我真的不想在属性上编写方法,因为那是不正确的,因为您正在验证整个模型而不是特定属性。

编辑:忘了提到验证整个模型时,返回的键是空的。

标签: c#fluentvalidation

解决方案


https://fluentvalidation.net/start#overriding-the-property-name就是答案。我可以为类命名或为属性命名。


推荐阅读