inSubnet static method

Validator<String> inSubnet(
  1. String cidr, {
  2. String? error,
})

Implementation

static Validator<String> inSubnet(String cidr, {String? error}) => (
      value,
      context,
    ) {
      final ip = context.resources.tryGet<IpResource>(
        value,
        temp: !context.usePermanentCache,
      );
      if (ip == null) return (false, 'ip resource not found in context');
      try {
        final subnet = IpSubnet.fromCidr(cidr);
        if (ip.inSubnet(subnet)) {
          return (true, null);
        }
        return (false, error ?? context.errors.ipErrors.inSubnet(cidr));
      } catch (e) {
        return (false, 'cant parse subnet');
      }
    };