我使用了流利的验证器。但有时我需要创建规则层次结构。例如:
[Validator(typeof(UserValidation))]
public class UserViewModel
{
public string FirstName;
public string LastName;
}
public class UserValidation : AbstractValidator<UserViewModel>
{
public UserValidation()
{
this.RuleFor(x => x.FirstName).NotNull();
this.RuleFor(x => x.FirstName).NotEmpty();
this.RuleFor(x => x.LastName).NotNull();
this.RuleFor(x => x.LastName).NotEmpty();
}
}
public class RootViewModel : UserViewModel
{
public string MiddleName;
}
我想将验证规则从 UserValidation 继承到 RootValidation。但是这段代码不起作用:
public class RootViewModelValidation:UserValidation<RootViewModel>
{
public RootViewModelValidation()
{
this.RuleFor(x => x.MiddleName).NotNull();
this.RuleFor(x => x.MiddleName).NotEmpty();
}
}
如何使用 FluentValidation 继承验证类?