FluentValidation - オブジェクトのリストを含むビューモデルの検証 質問する

FluentValidation - オブジェクトのリストを含むビューモデルの検証 質問する

私は複雑なビューモデルを含むプロジェクトでFluentValidationを試しており、ドキュメントはこちらしかし、ビューモデルで宣言されたオブジェクトのリストを検証するためのルールを設定する方法がわかりません。以下の例では、ビューモデルのリストに1つ以上のGuitarオブジェクトが含まれています。ありがとうございます

モデルを表示

 [FluentValidation.Attributes.Validator(typeof(CustomerViewModelValidator))]
    public class CustomerViewModel
    {
        [Display(Name = "First Name")]
        public string FirstName { get; set; }

        [Display(Name = "Last Name")]
        public string LastName { get; set; }

        [Display(Name = "Phone")]
        public string Phone { get; set; }

        [Display(Name = "Email")]
        public string EmailAddress { get; set; }

        public List<Guitar> Guitars { get; set; } 
    }

ビューモデルで使用されるギタークラス

public class Guitar
{
    public string Make { get; set; }
    public string Model { get; set; }
    public int? ProductionYear { get; set; }
}

ビューモデル検証クラス

 public class CustomerViewModelValidator : AbstractValidator<CustomerViewModel>
    {


        public CustomerViewModelValidator()
        {
            RuleFor(x => x.FirstName).NotNull();
            RuleFor(x => x.LastName).NotNull();
            RuleFor(x => x.Phone).NotNull();
            RuleFor(x => x.EmailAddress).NotNull();
           //Expects an indexed list of Guitars here????


        }
    }

ベストアンサー1

このコードは非推奨です:RuleFor(x => x.Guitars).SetCollectionValidator(new GuitarValidator());

これは、新しい:

RuleForEach(x => x.Guitars).SetValidator(new GuitarValidator());

おすすめ記事