code: protected function validator($varInput)
  	{
  		$varInput[2] = preg_replace('/[^a-z0-9_]+/', '', $varInput[2]);
  
  		if (!is_numeric($varInput[2]))
  		{
  			switch ($varInput[2])
  			{
  				// Validate relative dimensions - width or height required
  				case 'proportional':
  				case 'box':
  					$this->mandatory = !$varInput[0] && !$varInput[1];
  					break;
  
  				// Validate exact dimensions - width and height required
  				case 'crop':
  				case 'left_top':
  				case 'center_top':
  				case 'right_top':
  				case 'left_center':
  				case 'center_center':
  				case 'right_center':
  				case 'left_bottom':
  				case 'center_bottom':
  				case 'right_bottom':
  					$this->mandatory = !$varInput[0] || !$varInput[1];
  					break;
  			}
  
  			$varInput[0] = parent::validator($varInput[0]);
  			$varInput[1] = parent::validator($varInput[1]);
  		}
  
  		$this->import(BackendUser::class, 'User');
  
  		$imageSizes = System::getContainer()->get('contao.image.image_sizes');
  		$this->arrAvailableOptions = $this->User->isAdmin ? $imageSizes->getAllOptions() : $imageSizes->getOptionsForUser($this->User);
  
  		if (!$this->isValidOption($varInput[2]))
  		{
  			$this->addError(sprintf($GLOBALS['TL_LANG']['ERR']['invalid'], $varInput[2]));
  		}
  
  		return $varInput;
  	}
docs: Trim values
  
  @param mixed $varInput
  
  @return mixed