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);
  }
}