Creates a validator that validates the given string is not empty. Will
    raise an error for non-string types.

def NotEmpty():
    """
    Creates a validator that validates the given string is not empty. Will
    raise an error for non-string types.
    """
    @wraps(NotEmpty)
    def built(value):
        if not isinstance(value, six.string_types) or not value:
            raise Error("Must not be empty")
        return value
    return built