def validate_query_params(self, strict=True):
        """Check if the request is valid and can be sent, raise ValueError if 
        not.
        
        `strict` is a boolean argument that defaults to True which means an 
        exception is raised on every invalid query parameter, if set to False
        an exception is raised only when the search request cannot be performed
        because required query params are missing.
        
        """
        if not (self.api_key or default_api_key):
            raise ValueError('API key is missing')
        if strict and self.query_params_mode not in (None, 'and', 'or'):
            raise ValueError('query_params_match should be one of "and"/"or"')
        if not self.person.is_searchable:
            raise ValueError('No valid name/username/phone/email in request')
        if strict and self.person.unsearchable_fields:
            raise ValueError('Some fields are unsearchable: %s' 
                             % self.person.unsearchable_fields)
Check if the request is valid and can be sent, raise ValueError if 
        not.
        
        `strict` is a boolean argument that defaults to True which means an 
        exception is raised on every invalid query parameter, if set to False
        an exception is raised only when the search request cannot be performed
        because required query params are missing.