Example #1
0
 /**
  * Validate submission
  * @param JSONData $value
  * @param array    $params
  * @return array
  * @throws AppValidatorException
  */
 public function _validateSubmission($value, $params)
 {
     $selectInfo = $this->_getSelectInfo();
     $result = array();
     if ($params->get('mode') == self::VALIDATE_MODE_ANY) {
         for ($i = 0; $i <= $selectInfo['maxLevel']; $i++) {
             $result['list-' . $i] = $value->get('list-' . $i);
         }
         $resultCheck = array_filter($result);
         if (empty($resultCheck) && $params->get('required')) {
             throw new AppValidatorException('This field is required', AppValidator::ERROR_CODE_REQUIRED);
         }
     } else {
         $val = $value->flattenRecursive();
         for ($i = 0; $i < count($val); $i++) {
             $result['list-' . $i] = $this->app->validator->create('string', array('required' => $params->get('required')))->clean($value->get('list-' . $i));
         }
     }
     return $result;
 }