我有以下课程,例如,它们有点简化。
class LineInfo
{
Id,
LineNumber,
SubAccountNumer,
MobileNumber
}
class SuspendLinesVM{
public List<LineInfo> Lines{ get;set; }
}
我在操作中收到 SuspendLinesVM,并且所有行都是从客户端动态创建的。表单中属于具体 LineInfo 的每个元素的名称都带有模板' lineid{Id}_ElementName '。所以他们以如下形式来找我:
lineid0001_LineNumber
lineid0001_SubAccountNumer
lineid0001_MobileNumber
lineid0021_LineNumber
lineid0021_SubAccountNumer
lineid0021_MobileNumber
当验证时发生一些错误时,我需要一种方法来设置失败的属性,因为它在请求中突出显示视图中的无效字段。
我在困惑的地方留下了问题。
public class LineInfoValidator: AbstractValidator<LineInfo>
{
public LineInfoValidator()
{
RuleFor(m => m.LineNumber)
.NotEmpty().WithMessage("Line # is required").OverridePropertyName( ??? )
.InclusiveBetween(1, 9999).WithMessage("Line # must be in range [1, 9999]").OverridePropertyName( ??? )
...
我需要一种方法来执行 *(instance, propertyName) => return string.format('lineid_{0}_{1}', instance.Id, propertyName)*。
有任何想法吗 ?