public function validateBase(array &$invalidFormControls): bool
  {
    $valid = true;

    // First, validate all child form controls.
    foreach ($this->controls as $control)
    {
      if (!$control->validateBase($invalidFormControls))
      {
        $this->invalidControls[] = $control;
        $valid                   = false;
      }
    }

    if ($valid)
    {
      // All the child form controls are valid. Validate this complex form control.
      foreach ($this->validators as $validator)
      {
        $valid = $validator->validate($this);
        if ($valid!==true)
        {
          $invalidFormControls[] = $this;
          break;
        }
      }
    }

    return $valid;
  }