所以在我的Entity类中,我使用的是Description属性。在HTML视图中,我可以从描述属性中为每个正常工作的属性提取描述。
然而,我面临的问题是我的Entity类看起来混杂着每个属性的所有属性。
public int Id { get; set; }
[Description("Enter a name for the input. This is referenced in article 1010")]
public string Name { get; set; }
[Description("Enter a description for the input. This is referenced in article 1010")]
public string Description { get; set; }
[Display(Name="Required Dropdown")]
[Description("Select a role for the input. The role is based on your last job.")]
public int RequiredRoleId { get; set; }
在这个项目中,我使用了FluentValidation。 Validation类只应用于我的Entity类的顶部。
[Validator(typeof(InputValidation))]
public class Input : IEntityBase { }
在InputValidation
课程内,Fluent看起来像这样。
public class InputValidation : AbstractValidator<Input>
{
public InputValidation()
{
RuleFor(u => u.Name).NotEmpty().WithMessage("Please enter a name").Length(1, 100).WithMessage("Please enter a name that does not exceed 100 characters");
RuleFor(u => u.Description).Length(1, 500).WithMessage("Please enter a description that does not exceed 500 characters");
}
}
有没有办法模仿FluentValidation在这里做什么,仅用于描述属性。所以自定义描述属性看起来像这样。
public class InputDescription : AbstractDescription<Input>
{
public InputDescription()
{
DescriptionFor(u => u.Name).WithText("Enter a name for the input. This is referenced in article 1010");
DescriptionFor(u => u.Description).WithText("Enter a description for the input. This is referenced in article 1010");
}
}
然后在我的实体类中,我可以删除每个属性的所有Description属性,然后在InputDescription
[Validator(typeof(InputValidation))]
类
这样的事情是否可能,如果可行的话呢?