/** * @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() { $input = new \Zend\InputFilter\Input('prenom'); $input->setRequired(true); $filter = new \Zend\Filter\StringTrim(); $input->getFilterChain()->attach($filter); $validator = new \Zend\Validator\StringLength(); $validator->setMax(40); $input->getValidatorChain()->attach($validator); $validator = new \Zend\Validator\NotEmpty(); $validator->setMessage('Le prénom est obligatoire', \Zend\Validator\NotEmpty::IS_EMPTY); $input->getValidatorChain()->attach($validator); $this->add($input); }
public function __construct($em) { $input = new \Zend\InputFilter\Input('prenom'); $filter = new \Zend\Filter\StringTrim(); $input->getFilterChain()->attach($filter); $validator = new \Zend\Validator\StringLength(); $validator->setMax(40); $input->getValidatorChain()->attach($validator); $validator = new \Zend\Validator\NotEmpty(); $validator->setMessage('Le prénom est obligatoire', \Zend\Validator\NotEmpty::IS_EMPTY); $input->getValidatorChain()->attach($validator); $this->add($input); $input = new \Zend\InputFilter\Input('email'); $input->setRequired(false); $validator = new \DoctrineModule\Validator\NoObjectExists(array('object_repository' => $em->getRepository('AddressBook\\Entity\\Contact'), 'fields' => 'email')); $input->getValidatorChain()->attach($validator); // $validator->setMessage("Cet email existe déjà", \DoctrineModule\Validator\NoObjectExists::ERROR_NO_OBJECT_FOUND); $this->add($input); }