<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 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)