4
J'ai une classe de modèle:Comment valider directement sur une liste <T>?
public class MyModel() { //properties here... }
Et je veux valider une liste des objets MyModel
. J'ai donc créé ce validateur:
class MyModelListValidator : AbstractValidator<List<MyModel>>
{
public MyModelListValidator()
{
RuleFor(x => x)
.SetCollectionValidator(new MyModelValidator())
.When(x => x != null);
}
private class MyModelValidator : AbstractValidator<MyModel>
{
public MyModelValidator()
{
//MyModel property validation here...
}
}
}
Mais ce qui précède ne fonctionne pas. Une alternative est de créer une classe comme:
public class MyModelList()
{
public List<MyModel> Items { get; set; }
}
Cela fonctionnerait.
Mais existe-t-il un moyen de le faire sans utiliser cette classe supplémentaire?
Si votre action se 'Liste' en tant que paramètre, vous pouvez définir 'AbstractValidator ' et fluentvalidation app lement à chaque élément de la liste automatiquement. –