выход из функции, если ошибка - cakephp - PullRequest
0 голосов
/ 03 ноября 2011

У меня есть функция, чтобы проверить, действительна ли кредитная карта или нет. Если это так, продолжайте вводить данные из формы в базу данных. Но если это не так, отобразите переданное сообщение.

Проблема заключается в том, что если существует проблема с кредитной картой, сообщение передается, но вместо выхода из функции, чтобы он не пытался продолжить и добавлять данные из формы, он добавляет данные.

Я не уверен, как остановиться. Следующий код был написан для меня, похоже, создает новую диспетчеризацию и пытается вернуться к предыдущей функции подтверждения.

function confirm() {

    //This view contains the form, when user submits they go to checkout view
    if (isset($data)){$this->data = $data;}

    $this->set('redirect_to', 'checkout');  

}

function checkout(){

   if(!empty($this->data['User']['card_number'])){
        $check_card = $this->BillingValidation->validate_card($this->data['User']['card_number']);

        if($check_card['valid']!=false){
            // card is valid !

        } else {        
            $msg[0][] = $check_card['error'];
            $flashmsg = implode('<br />',$msg[0]).implode('<br />',$msg[1]);
                $this->Session->setFlash(__($flashmsg,
                          true),'default', array('class' => 'flash-message-success'));

            //if credit card is invalid go back to confirm view

            $this->autoRender = false;
            $d = new Dispatcher();
            $d->dispatch(array("controller" => "res", "action" => "confirm"),array("data" => $this->data));
        }
    } 
          //if credit card ok then continues to process form
}

1 Ответ

0 голосов
/ 20 ноября 2011

Я использовал exit (), и это, похоже, сработало

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...