1using FluentValidation;
2using FluentValidation.Validators;
3using NzbDrone.Common.Extensions;
4
5namespace NzbDrone.Core.Validation
6{
7 public static class IpValidation
8 {
9 public static IRuleBuilderOptions<T, string> ValidIpAddress<T>(this IRuleBuilder<T, string> ruleBuilder)
10 {
11 return ruleBuilder.Must(x => x.IsValidIpAddress()).WithMessage("Must contain wildcard (*) or a valid IP Address");
12 }
13
14 public static IRuleBuilderOptions<T, string> NotListenAllIp4Address<T>(this IRuleBuilder<T, string> ruleBuilder)
15 {
16 return ruleBuilder.SetValidator(new RegularExpressionValidator(@"^(?!0\.0\.0\.0)")).WithMessage("Use * instead of 0.0.0.0");
17 }
18 }
19}
20