示例#1
0
 public function indexAction()
 {
     $result = ['result' => false, 'message' => ''];
     $viewModel = $this->acceptableviewmodelselector($this->acceptCriteria);
     $request = $this->getRequest();
     if ($request->isPost()) {
         $login = new LoginInputFilter();
         $this->loginForm->setInputFilter($login->getInputFilter());
         $this->loginForm->setData($request->getPost());
         if ($this->loginForm->isValid()) {
             $result = ['result' => true, 'message' => 'Ajax request success'];
         } else {
             $result = ['result' => false, 'message' => $this->loginForm->getMessages()];
         }
     }
     if (!$viewModel instanceof JsonModel && $request->isXmlHttpRequest()) {
         $viewModel = new JsonModel();
     }
     $viewModel->setVariables(['form' => $this->loginForm, 'data' => $result]);
     return $viewModel;
 }
示例#2
0
 /**
  * Prepare an input filter instance and inject in the provided form
  *
  * If the input filter specified is a string, assumes it is a class name,
  * and attempts to instantiate it. If the class does not exist, or does
  * not extend InputFilterInterface, an exception is raised.
  *
  * Otherwise, $spec is passed on to the attached InputFilter Factory
  * instance in order to create the input filter.
  *
  * @param  string|array|Traversable $spec
  * @param  FormInterface $form
  * @param  string $method
  * @return void
  * @throws Exception\DomainException for unknown InputFilter class or invalid InputFilter instance
  */
 protected function prepareAndInjectInputFilter($spec, FormInterface $form, $method)
 {
     if ($spec instanceof InputFilterInterface) {
         $form->setInputFilter($spec);
         return;
     }
     if (is_string($spec)) {
         if (!class_exists($spec)) {
             throw new Exception\DomainException(sprintf('%s expects string input filter names to be valid class names; received "%s"', $method, $spec));
         }
         $filter = new $spec();
         if (!$filter instanceof InputFilterInterface) {
             throw new Exception\DomainException(sprintf('%s expects a valid implementation of Zend\\InputFilter\\InputFilterInterface; received "%s"', $method, $spec));
         }
         $form->setInputFilter($filter);
         return;
     }
     $factory = $this->getInputFilterFactory();
     $filter = $factory->createInputFilter($spec);
     if (method_exists($filter, 'setFactory')) {
         $filter->setFactory($factory);
     }
     $form->setInputFilter($filter);
 }
 /**
  * @param FormInterface      $form
  * @param \Zend\Http\Request $request
  * @param AdminMenu          $adminMenu
  *
  * @return \Zend\Http\Response
  */
 private function processFormData(FormInterface $form, \Zend\Http\Request $request, AdminMenu $adminMenu)
 {
     $form->setInputFilter($form->getInputFilter());
     $form->setData($request->getPost());
     if ($form->isValid()) {
         $this->adminMenuTable->saveAdminMenu($adminMenu);
         $this->setLayoutMessages('«' . $adminMenu->getCaption() . '» ' . $this->translate('SAVE_SUCCESS'), 'success');
     }
     return $this->redirect()->toUrl('/admin/admin-menu');
 }
示例#4
0
 /**
  * @param FormInterface $form
  * @param Content       $content
  * @param array         $data
  *
  * @return void
  */
 private function processFormData(FormInterface $form, Content $content, array $data)
 {
     $form->setInputFilter($form->getInputFilter());
     $form->setData($data);
     $this->saveFormData($form, $content);
 }