def validate_format(self, obj, pointer=None):
        """
        ================= ============
        Expected draft04  Alias of
        ----------------- ------------
        date-time         rfc3339.datetime
        email             email
        hostname          hostname
        ipv4              ipv4
        ipv6              ipv6
        uri               uri
        ================= ============

        """
        if 'format' in self.attrs:
            substituted = {
                'date-time': 'rfc3339.datetime',
                'email': 'email',
                'hostname': 'hostname',
                'ipv4': 'ipv4',
                'ipv6': 'ipv6',
                'uri': 'uri',
            }.get(self.attrs['format'], self.attrs['format'])
            logger.debug('use %s', substituted)
            try:
                return self.formats[substituted](obj)
            except ValidationError as error:
                logger.error(error)
                self.fail('Forbidden value', obj, pointer)
        return obj