public class Foo
{
public int Id { get; set; }
public string Name { get; set; }
public string Email { get; set; }
}
< /code>
public class FooOfType
{
public string TypeName { get; set; }
public Foo Foo { get; set; }
}
< /code>
And these validators
public class FooValidator : AbstractValidator
{
public FooValidator()
{
RuleFor(f => f.Id).NotNull();
RuleSet("Name", () => {
RuleFor(f => f.Name).NotNull();
});
RuleSet("Email", () => {
RuleFor(f => f.Email).NotNull();
});
}
}
< /code>
public class FooOfTypeValidator : AbstractValidator
{
private string _fooType = "Name"; // default type
public FooOfTypeValidator()
{
RuleFor(f => f.TypeName)
.NotNull();
RuleFor(f => f.Foo).SetValidator(new FooValidator(), _fooType // can this be dynamic);
}
}
< /code>
If I run this validator _fooType
всегда будет «имя», даже если я каким -то образом изменяю значение, потому что
он установлен в конструкторе.>
Учитывая эти модели: < /p> [code]public class Foo { public int Id { get; set; } public string Name { get; set; } public string Email { get; set; } } < /code> public class FooOfType { public string TypeName { get; set; } public Foo Foo { get; set; } } < /code> And these validators public class FooValidator : AbstractValidator { public FooValidator() { RuleFor(f => f.Id).NotNull();
RuleSet("Email", () => { RuleFor(f => f.Email).NotNull(); }); } } < /code> public class FooOfTypeValidator : AbstractValidator { private string _fooType = "Name"; // default type
public FooOfTypeValidator() { RuleFor(f => f.TypeName) .NotNull();
RuleFor(f => f.Foo).SetValidator(new FooValidator(), _fooType // can this be dynamic); } } < /code> If I run this validator _fooType[/code] всегда будет «имя», даже если я каким -то образом изменяю значение, потому что он установлен в конструкторе.>
Метод .setValidator () FluentValidator () имеет перегрузку, которая принимает параметры, но я не могу найти документацию об использовании этих параметров.
IRuleBuilderOptions SetValidator(IValidator validator, params string[] ruleSets)
Метод .setValidator () FluentValidator () имеет перегрузку, которая принимает параметры, но я не могу найти документацию об использовании этих параметров.
IRuleBuilderOptions SetValidator(IValidator validator, params string[] ruleSets)
Метод .setValidator () FluentValidator () имеет перегрузку, которая принимает параметры, но я не могу найти документацию об использовании этих параметров.
IRuleBuilderOptions SetValidator(IValidator validator, params string[] ruleSets)