Beispiel #1
0
 /**
  * Submit処理
  *
  * <pre>
  * フォームがサブミットされた場合の処理を行います。
  * サブミットされたらバリデーションを自動で行いOKならPage::onAction(), NGならPage::onOutput()をコールします。
  * </pre>
  *
  * @return void
  */
 protected function _runSubmit()
 {
     $this->_submit = isset($_POST['_token']) ? $_POST : $_GET;
     // form作成
     $formName = BEAR_Form::getSubmitFormName($this->_submit);
     try {
         $form = BEAR::get('BEAR_Form_' . $formName);
     } catch (Exception $e) {
         $this->_log->log('BEAR_Form Exception', $e->__toString());
         $this->_runPreOnOutput();
         $this->_page->onOutput();
         $this->end();
     }
     // submitバリデーション
     $isValidate = $form->validate();
     $this->_isAjaxSubmit = isset($_SERVER['HTTP_X_BEAR_AJAX_REQUEST']);
     if ($isValidate) {
         // submit OK
         $this->_formValidationOk($form, $formName);
         $this->_log->log('form', array('valid' => true, 'errors' => array()));
     } else {
         // submit NG
         $this->_log->log('form', array('valid' => false, 'rules' => $form->_rules, 'errors' => $form->_errors));
         if ($this->_isAjaxSubmit) {
             // AJAXバリデーションNG
             $this->_ajaxValidationNG($form);
         } else {
             $this->_runPreOnOutput();
             $this->_page->onOutput();
         }
     }
 }
Beispiel #2
0
 /**
  * PageリソースをHTMLとして出力
  *
  * @param BEAR_Page &$page ページ
  *
  * @return BEAR_Ro
  */
 protected function _outputHtml(BEAR_Page &$page)
 {
     $page->setPrototypeRo();
     $page->onOutput();
     $ro = $page->getPageRo();
     return $ro;
 }