isValidOrThrow static method

void isValidOrThrow({
  1. String fromString = '',
  2. Uint8List? fromByteList,
  3. ValidationMode validationMode = ValidationMode.strictRFC4122,
})

Implementation

static void isValidOrThrow(
    {String fromString = '', Uint8List? fromByteList, ValidationMode validationMode = ValidationMode.strictRFC4122}) {
  final isValid = isValidUUID(fromString: fromString, fromByteList: fromByteList, validationMode: validationMode);

  if (!isValid) {
    // let's check if it is a non RFC4122 uuid and help the developer
    if (validationMode != ValidationMode.nonStrict) {
      final isValidNonStrict =
          isValidUUID(fromString: fromString, fromByteList: fromByteList, validationMode: ValidationMode.nonStrict);

      if (isValidNonStrict) {
        throw FormatException(
            'The provided UUID is not RFC4122 compliant. It seems you might be using a Microsoft GUID. Try setting `validationMode = ValidationMode.nonStrict`',
            fromString);
      }
    }

    throw FormatException('The provided UUID is invalid.', fromString);
  }
}