code: protected function validateAttributeCondition($attribute, $condition)
      {
          $attributeTypes = $this->getSearchAttributeTypes();
          if (!isset($attributeTypes[$attribute])) {
              $this->addError($this->filterAttributeName, $this->parseErrorMessage('unknownAttribute', ['attribute' => $attribute]));
              return;
          }
  
          if (is_array($condition)) {
              $operatorCount = 0;
              foreach ($condition as $rawOperator => $value) {
                  if (isset($this->filterControls[$rawOperator])) {
                      $operator = $this->filterControls[$rawOperator];
                      if (isset($this->operatorTypes[$operator])) {
                          $operatorCount++;
                          $this->validateOperatorCondition($rawOperator, $value, $attribute);
                      }
                  }
              }
  
              if ($operatorCount > 0) {
                  if ($operatorCount < count($condition)) {
                      $this->addError($this->filterAttributeName, $this->parseErrorMessage('invalidAttributeValueFormat', ['attribute' => $attribute]));
                  }
              } else {
                  // attribute may allow array value:
                  $this->validateAttributeValue($attribute, $condition);
              }
          } else {
              $this->validateAttributeValue($attribute, $condition);
          }
      }
docs: Validates search condition for a particular attribute.
  @param string $attribute search attribute name.
  @param mixed $condition search condition.