在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");
但这不起作用。为什么呢?
答案 0 :(得分:1)
WithName
方法仅用于调整验证错误消息,如果您要将C#属性名称替换为更加用户友好(有关详细信息,请参阅
Overriding the Default Property Name)。
答案是 - 您通常不能将Display
替换为WithName()
,仅用于验证错误消息。