public function index01Action() { echo "<h3 style='color:red;font-weight:bold'>" . __METHOD__ . "</h3>"; //case 1 // $validator = new \Zend\Validator\Between(2,5,false); //case 2 // $validator = new \Zend\Validator\Between(array("min"=>"2","max"=>5,"inclusive"=>false)); //case 3 $validator = new \Zend\Validator\Between(5, 6); $validator->setMin(1)->setMax(3)->setInclusive(true); $input = "3a"; $input = "a3a"; $input = 4; if (!$validator->isValid($input)) { $message = $validator->getMessages(); echo "<pre style='font-weight:bold'>"; print_r($message); echo "</pre>"; echo current($message); } else { echo "ok"; } return false; }
/** * Validate Web Search Options * * @param array $options * @return void * @throws Zend\Service\Exception */ protected function _validateWebSearch(array $options) { $validOptions = array('appid', 'query', 'results', 'start', 'language', 'type', 'format', 'adult_ok', 'similar_ok', 'country', 'site', 'subscription', 'license', 'region'); $this->_compareOptions($options, $validOptions); $between = new Zend\Validator\Between(1, 100, true); if (isset($options['results']) && !$between->setMin(1)->setMax(100)->isValid($options['results'])) { throw new Zend\Service\Exception("Invalid value for option 'results': {$options['results']}"); } if (isset($options['start']) && !$between->setMin(1)->setMax(1000)->isValid($options['start'])) { throw new Zend\Service\Exception("Invalid value for option 'start': {$options['start']}"); } if (isset($options['language'])) { $this->_validateLanguage($options['language']); } $this->_validateInArray('type', $options['type'], array('all', 'any', 'phrase')); $this->_validateInArray('format', $options['format'], array('any', 'html', 'msword', 'pdf', 'ppt', 'rss', 'txt', 'xls')); if (isset($options['license'])) { $this->_validateInArray('license', $options['license'], array('any', 'cc_any', 'cc_commercial', 'cc_modifiable')); } if (isset($options['region'])){ $this->_validateInArray('region', $options['region'], array('ar', 'au', 'at', 'br', 'ca', 'ct', 'dk', 'fi', 'fr', 'de', 'in', 'id', 'it', 'my', 'mx', 'nl', 'no', 'ph', 'ru', 'sg', 'es', 'se', 'ch', 'th', 'uk', 'us')); } }