using FluentValidation; using NzbDrone.Core.Annotations; using NzbDrone.Core.Validation; namespace NzbDrone.Core.ImportLists.Rss { public class RssImportSettingsValidator : AbstractValidator where TSettings : RssImportBaseSettings { public RssImportSettingsValidator() { RuleFor(c => c.Url).NotEmpty(); } } public class RssImportBaseSettings : ImportListSettingsBase where TSettings : RssImportBaseSettings { private static readonly RssImportSettingsValidator Validator = new (); [FieldDefinition(0, Label = "Url", Type = FieldType.Textbox)] public virtual string Url { get; set; } public override NzbDroneValidationResult Validate() { return new NzbDroneValidationResult(Validator.Validate(this as TSettings)); } } }