/** * 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(); } } }
/** * PageリソースをHTMLとして出力 * * @param BEAR_Page &$page ページ * * @return BEAR_Ro */ protected function _outputHtml(BEAR_Page &$page) { $page->setPrototypeRo(); $page->onOutput(); $ro = $page->getPageRo(); return $ro; }