예제 #1
0
 public function bind($params)
 {
     if ($params['form_type'] === 'input' || $params['form_type'] === 'textarea') {
         $validator = new sfValidatorInteger(array('required' => false));
         $this->setValidator('value_min', $validator);
         $validator = new sfValidatorInteger(array('required' => false));
         $this->setValidator('value_max', $validator);
     } elseif ($params['form_type'] === 'date') {
         $validator = new opValidatorDate(array('required' => false));
         $this->setValidator('value_min', $validator);
         $validator = new opValidatorDate(array('required' => false));
         $this->setValidator('value_max', $validator);
     } elseif ($params['value_min'] || $params['value_max']) {
         throw new sfValidatorError($validator, 'invalid');
     }
     return parent::bind($params);
 }
예제 #2
0
 public function bind($params)
 {
     if ('input' === $params['form_type'] || 'textarea' === $params['form_type']) {
         $validatorArgs = array('required' => false, 'trim' => true);
         $validatorMin = new sfValidatorInteger($validatorArgs);
         $validatorMax = new sfValidatorInteger($validatorArgs);
         if ('integer' !== $params['value_type']) {
             $validatorMin->setOption('min', 0);
             $validatorMax->setOption('min', 1);
         }
         $this->setValidator('value_min', $validatorMin);
         $this->setValidator('value_max', $validatorMax);
     } elseif ('date' === $params['form_type']) {
         $validatorArgs = array('required' => false, 'trim' => true, 'date_format' => '/^(?P<year>\\d{4})\\/(?P<month>\\d{1,2})\\/(?P<day>\\d{1,2})$/', 'date_output' => 'Y/m/d', 'date_format_error' => 'YYYY/MM/DD');
         $validatorMin = new opValidatorDate($validatorArgs);
         $validatorMax = new opValidatorDate($validatorArgs);
         $this->setValidator('value_min', $validatorMin);
         $this->setValidator('value_max', $validatorMax);
     } elseif ($params['value_min'] || $params['value_max']) {
         throw new sfValidatorError($validator, 'invalid');
     }
     $this->mergePostValidator(new sfValidatorCallback(array('callback' => array($this, 'compareMinAndMax')), array('invalid' => 'Value must be greater than or equal to Minimum value.')));
     return parent::bind($params);
 }