def METHOD_NAME(self, value, schema, name):
    try:
        # Check the default format values defined by JSON schema.
        # Fall through for unknown types.
        super().METHOD_NAME(value, schema, name)
    except openmediavault.json.SchemaException:
        if "uuidv4" == schema['format']:
            if not openmediavault.stringutils.is_uuid4(value):
                raise openmediavault.json.SchemaValidationException(
                    name, "The value '%s' is not a valid UUIDv4." % value
                ) from None
        elif "fsuuid" == schema['format']:
            if not openmediavault.stringutils.is_fs_uuid(value):
                raise openmediavault.json.SchemaValidationException(
                    name,
                    "The value '%s' is not a valid filesystem UUID."
                    % value,
                ) from None
        elif "devicefile" == schema['format']:
            if not re.match(
                r'^\/dev(\/disk\/by-id)?\/.+$', value, flags=re.IGNORECASE
            ):
                raise openmediavault.json.SchemaValidationException(
                    name, "The value '%s' is no device file name." % value
                ) from None
        elif "dirpath" == schema['format']:
            if not re.match(
                r'^(?!.*[\/]\.{2}[\/])(?!\.{2}[\/])[-\w.\/@ ]+$',
                value,
                flags=re.UNICODE,
            ):
                raise openmediavault.json.SchemaValidationException(
                    name,
                    "The value '%s' is not a valid directory path." % value,
                ) from None
        elif "sshpubkey-openssh" == schema['format']:
            if not re.match(
                r'^ssh-rsa AAAA[0-9A-Za-z+\/]+[=]{0,3}\s*'
                r'([^@]+@[^@]+|.+)*$',
                value,
            ):
                raise openmediavault.json.SchemaValidationException(
                    name,
                    "The value '%s' is no SSH public key (OpenSSH)."
                    % value,
                ) from None
        elif "sshpubkey-rfc4716" == schema['format']:
            if not re.match(
                r'^---- BEGIN SSH2 PUBLIC KEY ----'
                r'(\n|\r|\f)(.+)(\n|\r|\f)'
                r'---- END SSH2 PUBLIC KEY ----$',
                value,
                flags=re.DOTALL | re.MULTILINE,
            ):
                raise openmediavault.json.SchemaValidationException(
                    name,
                    "The value '%s' is no SSH public key (RFC4716)."
                    % value,
                ) from None
        elif "sshprivkey-rsa" == schema['format']:
            if not re.match(
                r'^-----BEGIN RSA PRIVATE KEY-----'
                r'(\n|\r|\f)(.+)(\n|\r|\f)'
                r'-----END RSA PRIVATE KEY-----$',
                value,
                flags=re.DOTALL | re.MULTILINE,
            ):
                raise openmediavault.json.SchemaValidationException(
                    name,
                    "The value '%s' is no SSH private key (RSA)." % value,
                ) from None
        elif "sharename" == schema['format']:
            # We are using the SMB/CIFS file/directory naming convention
            # for this:
            # All characters are legal in the basename and extension
            # except the space character (0x20) and:
            # "./\[]:+|<>=;,*?
            # A share name or server or workstation name SHOULD not
            # begin with a period (“.”) nor should it include two
            # adjacent periods (“..”).
            # References:
            # http://tools.ietf.org/html/draft-leach-cifs-v1-spec-01
            # http://msdn.microsoft.com/en-us/library/aa365247%28VS.85%29.aspx
            if not re.match(
                r'^[^.]([^"/\\\[\]:+|<>=;,*?. ]+)?([.]'
                r'[^"/\\\[\]:+|<>=;,*?. ]+)*$',
                value,
            ):
                raise openmediavault.json.SchemaValidationException(
                    name, "The value '%s' is not a valid share name." % value
                ) from None
        elif "username" == schema['format']:
            if not re.match(r'^[_.A-Za-z0-9][-\@_.A-Za-z0-9]*\$?$', value):
                raise openmediavault.json.SchemaValidationException(
                    name, "The value '%s' is not a valid user name." % value
                )
        elif "domainname" == schema['format']:
            if not re.match(
                r'^[a-zA-Z0-9]([-a-zA-Z0-9]{0,61}'
                r'[a-zA-Z0-9])?([.][a-zA-Z0-9]([-a-zA-Z0-9]{0,61}'
                r'[a-zA-Z0-9])?)*$',
                value,
            ):
                raise openmediavault.json.SchemaValidationException(
                    name, "The value '%s' is not a valid domain name." % value
                ) from None
        elif "netbiosname" == schema['format']:
            # https://github.com/samba-team/samba/blob/samba-4.13.13/python/samba/__init__.py#L317
            if not re.match(r'^[\w !#$%&\'()\-.@^_{}~]{1,15}$', value):
                raise openmediavault.json.SchemaValidationException(
                    name, "The value '%s' is not a valid NetBIOS name." % value
                ) from None
        else:
            raise openmediavault.json.SchemaException(
                "%s: The format '%s' is not defined."
                % (name, schema['format'])
            ) from None