Комментарии

Метод контроллера для проверки достоверности
( 0 Голосов )

 

В методе subscribe () для проверки достоверности данных вызывался метод validate (). Ниже приведен исходный код этого метода.

/**
* Проверяет достоверность данных
* @return boolean Истинно, если данные достоверны, а иначе — ложно. 
*/
protected function validate() { $арр = JFactory::getApplication(); $model = $this->getModel(); $data = JRequest:rgetVar('jform', array(), 'post', 'array');
$form = $model->getForm($data, false);
$validData = $model->validate($form, $data);
$recordId = JRequest::getlnt('sub_id');
// выявить ошибки в результате проверки достоверности данных if ($validData === false) {
// получить сообщения о проверке достоверности $errors = $model->getErrors();
// выдать пользователю до трех сообщений об ошибках for ($i =0, $n = count($errors); $i < $n && $i < 3; $i++) { if (JError::isError($errors[$i])) { $app->enqueueMessage($errors[$i]->getMessage(),    'warning'); } else { $app->enqueueMessage($errors[$i], 'warning'); } }
// сохранить данные в текущем сеансе работы
if (isset($data[0])) { $app->setUserState($context.'.data', $data); }
// переадресовать обратно к экрану редактирования
$this->setRedirect(JRoute::_('index.php?option='. $this->option.'&view='.$this->view_item.>
$this->getRedirectToIteraAppend($recordId, 'sub_id'), false)); return false; } return true; } }  
//  конец класса.

В этом методе сначала получаются данные формы из запроса, а затем из модели вызывается метод validate (). Напомним, что при этом выполняются методы filter () и validate () из объекта формы. Если в любом из этих методов будет обнаружена ошибка, то метод validate () из модели возвратит логическое значение false. В этом случае метод validate () из контроллера выведет на экран до трех сообщений об ошибках, а затем установит переадресацию обратно к форме редактирования подписки.

 


Понравился материал? Пригодилась информация? Плюсани в социалки!


 
Похожие новости
Добавить комментарий


Защитный код