using FluentValidation; using FluentValidation.Results; using NzbDrone.Core.Validation.Paths; namespace NzbDrone.Core.Movies { public interface IAddMovieValidator { ValidationResult Validate(Movie instance); } public class AddMovieValidator : AbstractValidator, IAddMovieValidator { public AddMovieValidator(RootFolderValidator rootFolderValidator, RecycleBinValidator recycleBinValidator, MoviePathValidator moviePathValidator, MovieAncestorValidator movieAncestorValidator) { RuleFor(c => c.Path).Cascade(CascadeMode.Stop) .IsValidPath() .SetValidator(rootFolderValidator) .SetValidator(recycleBinValidator) .SetValidator(moviePathValidator) .SetValidator(movieAncestorValidator); } } }