/Source/NETworkManager.Validators/IPv4SubnetValidator.cs

https://github.com/BornToBeRoot/NETworkManager · C# · 24 lines · 19 code · 4 blank · 1 comment · 6 complexity · a0261bf053cd83dbef383d301445a110 MD5 · raw file

  1. using System.Globalization;
  2. using System.Text.RegularExpressions;
  3. using System.Windows.Controls;
  4. using NETworkManager.Utilities;
  5. namespace NETworkManager.Validators
  6. {
  7. // ReSharper disable once InconsistentNaming
  8. public class IPv4SubnetValidator : ValidationRule
  9. {
  10. public override ValidationResult Validate(object value, CultureInfo cultureInfo)
  11. {
  12. var subnet = (value as string)?.Trim();
  13. if (subnet != null && Regex.IsMatch(subnet, RegexHelper.IPv4AddressCidrRegex))
  14. return ValidationResult.ValidResult;
  15. if (subnet != null && Regex.IsMatch(subnet, RegexHelper.IPv4AddressSubnetmaskRegex))
  16. return ValidationResult.ValidResult;
  17. return new ValidationResult(false, Localization.Resources.Strings.EnterValidSubnet);
  18. }
  19. }
  20. }