退出函数如果错误 - cakephp

时间:2011-11-03 18:00:37

标签: php cakephp

我有检查信用卡是否有效的功能。如果是,则继续从表单输入详细信息到数据库中。但如果不是,则显示传递的消息。

问题在于,如果信用卡存在问题,则会传递消息,而不是退出该功能,以便它不会尝试继续并从表单添加数据,而是添加数据。

我不知道该如何制止。以下代码是为我编写的,似乎创建了一个新的调度并尝试返回上一个函数确认。

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 :(得分:0)

我使用了exit(),这似乎有用