mobile_nebula/lib/validators/ipValidator.dart

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

30 lines
439 B
Dart
Raw Permalink Normal View History

2021-04-23 21:23:06 +00:00
import 'dart:io';
2020-07-27 20:43:58 +00:00
bool ipValidator(String? str, bool enableIPV6) {
if (str == null) {
return false;
}
2021-04-23 21:23:06 +00:00
final ia = InternetAddress.tryParse(str);
if (ia == null) {
2020-07-27 20:43:58 +00:00
return false;
}
2021-04-23 21:23:06 +00:00
switch (ia.type) {
case InternetAddressType.IPv6:
{
if (enableIPV6) {
return true;
}
2021-04-23 21:23:06 +00:00
}
break;
case InternetAddressType.IPv4:
{
return true;
}
2020-07-27 20:43:58 +00:00
}
2021-04-23 21:23:06 +00:00
return false;
2020-07-27 20:43:58 +00:00
}