/** * @return $this */ protected function username() { $recordExistsValidator = new NoObjectExists(array('object_repository' => $this->sm->get('Doctrine\\ORM\\EntityManager')->getRepository('User\\Entity\\User'), 'fields' => 'username')); $recordExistsValidator->setMessage('User with this email already exists', NoObjectExists::ERROR_OBJECT_FOUND); $this->add(array('name' => 'username', 'required' => true, 'validators' => array($recordExistsValidator, array('name' => 'StringLength', 'options' => array('min' => 3, 'max' => 100))), 'filters' => array(array('name' => 'StripTags'), array('name' => 'StringTrim')))); return $this; }
public function __construct(EntityManager $em) { $input = new Input('prenom'); $validator = new NotEmpty(); $validator->setMessage('Le prénom est obligatoire', NotEmpty::IS_EMPTY); $input->getValidatorChain()->attach($validator); $filter = new StringTrim(); $input->getFilterChain()->attach($filter); $this->add($input); $input = new Input('email'); $input->setRequired(false); // TODO ne fonctionne pas pour l'UPDATE $validator = new NoObjectExists(array('object_repository' => $em->getRepository('AddressBook\\Entity\\Contact'), 'fields' => 'email')); $validator->setMessage("Un utilisateur utilise déjà cet email", NoObjectExists::ERROR_OBJECT_FOUND); $input->getValidatorChain()->attach($validator); if (class_exists('Zend\\Filter\\ToNull')) { $filter = new \Zend\Filter\ToNull(); } else { if (class_exists('Zend\\Filter\\Null')) { $filter = new \Zend\Filter\Null(); } } $input->getFilterChain()->attach($filter); $this->add($input); $input = new Input('societe'); $input->setRequired(false); if (class_exists('Zend\\Filter\\ToNull')) { $filter = new \Zend\Filter\ToNull(); } else { if (class_exists('Zend\\Filter\\Null')) { $filter = new \Zend\Filter\Null(); } } $input->getFilterChain()->attach($filter); $this->add($input); }