/** * @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; }
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; }
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"; } } }
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; }
<?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); } }