Radarr/src/NzbDrone.Core/Validation/UrlValidator.cs

28 lines
748 B
C#

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