'Does a basic check that the entries conform to this descriptor type\'s
constraints.
:param dict entries: keyword => (value, pgp key) entries
:raises: **ValueError** if an issue arises in validation'

def _check_constraints(self, entries):

    for keyword in REQUIRED_FIELDS:
        if (keyword not in entries):
            raise ValueError(("Microdescriptor    must    have    a    '%s'    entry" % keyword))
    for keyword in SINGLE_FIELDS:
        if ((keyword in entries) and (len(entries[keyword]) > 1)):
            raise ValueError(("The    '%s'    entry    can    only    appear    once    in    a    microdescriptor" % keyword))
    if ('onion-key' != list(entries.keys())[0]):
        raise ValueError("Microdescriptor    must    start    with    a    'onion-key'    entry")
