/**
  * @param                   $value
  * @param AbstractValidator $keyValidator
  *
  * @return bool
  */
 public static function hasKeyFormat($value, AbstractValidator $keyValidator)
 {
     if ($value instanceof \ArrayObject) {
         $value = $value->getArrayCopy();
     }
     if ($value instanceof \SplFixedArray) {
         $value = $value->toArray();
     }
     $arrayKeys = \array_keys($value);
     $isValid = true;
     foreach ($arrayKeys as $key) {
         $isValid = $isValid && $keyValidator->validate($key);
     }
     return $isValid;
 }
 /**
  * @param string            $uploadName
  * @param AbstractValidator $validator
  *
  * @return bool
  */
 public static function hasFileNameFormat($uploadName, AbstractValidator $validator)
 {
     if (isset($_FILES[$uploadName]['name']) && \is_array($_FILES[$uploadName]['name'])) {
         $isValid = true;
         foreach ($_FILES[$uploadName]['name'] as $name) {
             $isValid = $isValid && $validator->validate($name);
         }
         return $isValid;
     }
     return $validator->validate($_FILES[$uploadName]['name']);
 }