Пример #1
0
 /**
  * @param $request
  * @return array of validation messages
  */
 protected function validateRegisterRequest($request)
 {
     $messages = array();
     // email validations
     $emailNotEmpty = new \Zend\Validator\NotEmpty();
     $emailNotEmpty->setMessage('Email cannot be empty', \Zend\Validator\NotEmpty::IS_EMPTY);
     $emailValidEmail = new \Zend\Validator\EmailAddress();
     $emailValidEmail->setMessage('User email is not a valid email address. Use the basic format local-part@hostname', \Zend\Validator\EmailAddress::INVALID_FORMAT);
     $emailChain = new \Zend\Validator\ValidatorChain();
     $emailChain->attach($emailValidEmail);
     // is unique
     $user = $this->em()->getRepository('\\Application\\Entity\\User')->findBy(array('email' => $request['email']));
     if (count($user)) {
         $messages[] = "User with this email already exists";
     }
     // password validations
     $passwordNotEmpty = new \Zend\Validator\NotEmpty();
     $passwordNotEmpty->setMessage("User password cannot be empty", \Zend\Validator\NotEmpty::IS_EMPTY);
     $passwordStringLength = new \Zend\Validator\StringLength(['min' => 4, 'max' => 20]);
     $passwordStringLength->setMessage("User password is less than %min% characters long", \Zend\Validator\StringLength::TOO_SHORT);
     $passwordStringLength->setMessage("User password is more than %max% characters long", \Zend\Validator\StringLength::TOO_LONG);
     $passwordChain = new \Zend\Validator\ValidatorChain();
     $passwordChain->attach($passwordNotEmpty)->attach($passwordStringLength);
     if (!$passwordChain->isValid($request['password'])) {
         $messages = array_merge($messages, $passwordChain->getMessages());
     }
     if (!$emailChain->isValid($request['email'])) {
         $messages = array_merge($messages, $emailChain->getMessages());
     }
     return $messages;
 }
Пример #2
0
 public function __construct($items = array(), $values = array())
 {
     /* run validator */
     foreach ($items as $key => $item) {
         /* apply default for unset value, and get value */
         if (isset($values[$key])) {
             $value = $values[$key];
             $items[$key]['value'] = $value;
         } else {
             if (isset($item['value'])) {
                 $value = $item['value'];
             } else {
                 $value = null;
                 $items[$key]['value'] = null;
             }
         }
         /* store values internally */
         $this->_values[$key] = $value;
         /* loop roles */
         foreach ($item as $role => $options) {
             /* exclude value */
             if ($role != 'value') {
                 /* prepare validation chain */
                 $chain = new \Zend\Validator\ValidatorChain();
                 /* attach role to chain */
                 switch ($role) {
                     case 'notempty':
                         $chain->attach(new \Zend\Validator\NotEmpty($options));
                         break;
                     case 'alnum':
                         $chain->attach(new \Zend\I18n\Validator\Alnum($options));
                         break;
                     case 'digits':
                         $chain->attach(new \Zend\Validator\Digits($options));
                         break;
                     case 'greaterthan':
                         $chain->attach(new \Zend\Validator\GreaterThan($options));
                         break;
                 }
                 /* validate, if invalid exit loop! */
                 if (!($this->_valid = $chain->isValid($value))) {
                     $this->_field = $key;
                     $this->_messages[$key] = $chain->getMessages();
                     break;
                 }
             }
             //value check
         }
         /* invalid? just exit loop */
         if (!$this->_valid) {
             break;
         }
     }
     /* store items internally */
     $this->items = $items;
 }
Пример #3
0
 public function index19Action()
 {
     echo "<h3 style='color:red;font-weight:bold'>" . __METHOD__ . "</h3>";
     //username
     //khong duoc rong
     //chieu dai tu 5 -8
     //bat dau bang Z ket thuc bang 1 số
     $validator = new \Zend\Validator\ValidatorChain();
     if ($this->getRequest()->isPost()) {
         $username = $this->params()->fromPost("username");
         $validator->attach(new \Zend\Validator\NotEmpty(), true)->attach(new \Zend\Validator\StringLength(5, 8), true)->attach(new \Zend\Validator\Regex("#^z[a-zA-Z0-9_-]{3,6}[0-9]{1}\$#imsU"));
         if (!$validator->isValid($username)) {
             $message = $validator->getMessages();
             echo "<pre style='font-weight:bold'>";
             print_r($message);
             echo "</pre>";
         } else {
             echo "ok";
         }
     }
 }
Пример #4
0
 public function isValid($tmp_name)
 {
     $chain = new \Zend\Validator\ValidatorChain();
     $chain->addValidator(new \Zend\Validator\File\FilesSize(array('min' => 100, 'max' => '2MB')));
     $chain->addValidator(new \Zend\Validator\File\Extension(array('jpg', 'jpeg', 'png', 'gif')));
     $chain->addValidator(new \Zend\Validator\File\MimeType(array('image/jpeg', 'image/png', 'image/jpg', 'image/gif')));
     if ($chain->isValid($tmp_name)) {
         return true;
     }
     $this->_errors = $chain->getMessages();
     return false;
 }
Пример #5
0
<?php

require_once './autoloader.php';
$translator = Zend\I18n\Translator\Translator::factory(array('locale' => 'zh', 'translation_file_patterns' => array('zf' => array('type' => 'PhpArray', 'base_dir' => EVA_LIB_PATH . '/Zend/resources/languages/', 'pattern' => '%s/Zend_Validate.php'))));
Zend\Validator\AbstractValidator::setDefaultTranslator($translator);
$validatorChain = new Zend\Validator\ValidatorChain();
$validatorChain->addValidator(new Zend\Validator\StringLength(array('min' => 6, 'max' => 12)))->addValidator(new Zend\Validator\NotEmpty());
$username = '';
// Validate the username
if ($validatorChain->isValid($username)) {
    // username passed validation
} else {
    // username failed validation; print reasons
    foreach ($validatorChain->getMessages() as $message) {
        p($message);
    }
}