using FluentValidation; using FluentValidation.Validators; using NzbDrone.Common.Extensions; namespace NzbDrone.Core.Validation { public static class UrlValidation { public static IRuleBuilderOptions IsValidUrl(this IRuleBuilder ruleBuilder) { return ruleBuilder.SetValidator(new UrlValidator()); } } public class UrlValidator : PropertyValidator { protected override string GetDefaultMessageTemplate() => "Invalid Url"; protected override bool IsValid(PropertyValidatorContext context) { if (context.PropertyValue == null) { return false; } return context.PropertyValue.ToString().IsValidUrl(); } } }