之前FluentValidation.NET我可以像这样正确地给自定义标签:
[Display(Name="Blah")]
public string BlahBlahBlah { get; set; }
我可以通过多种方式使用它:
@Html.LabelFor(m => m.BlahBlahBlah)
@Html.DisplayNameFor(m => m.BlahBlahBlah)
<label asp-for="BlahBlahBlah"></label>
现在我想从我的模型中删除所有数据注释,并转向流畅的验证。在我的验证器中,我有这个:
RuleFor(o => o.BlahBlahBlah)
.NotEmpty()
.WithName("Blah");
但这行不通。为什么?
最佳答案
FluentValidation 中的
WithName
方法仅用于调整验证错误消息,如果您想将 C# 属性名称替换为更用户友好的 smth(有关详细信息,请参阅
Overriding the Default Property Name)。
所以答案是——一般情况下,您不能将 Display
替换为 WithName()
,仅用于验证错误消息。
关于c# - FluentValidation.NET 等同于 [Display(Name)],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41351817/