0

我有一個標準的窗體,通過Cake/Bake生成。在CakePHP3中使用模態(或:在控制器中使用Javascript)

當形式發送,我的控制器檢查一個(簡單)的條件,在條件A

  • 它只是將數據保存(patchEntity($ FOO, $這個 - >請求 - >的getData( ))
  • 在條件B應該調用JS警告,然後保存數據。

我最喜歡的警告將是一個Bootstrap4模態,但我怎麼能叫一個模式在controlle R' 我知道這種違反MVC的想法。因此,歡迎其他想法。

我看到atm的唯一解決方案是我重定向到一個只打開模式的新動作。

回答

1

考慮到條件只能在服務器端進行評估,您可以例如在發送表單之前發送AJAX請求,或者發送表單本身,然後回覆相應的信息,您可以在其中評估你的AJAX響應處理程序來決定你是否需要顯示一個模態。

然後,您應該可以(重新)發送帶有附加標誌的表單,表明連續請求源自警告對話框,並且您可以繼續保存數據。

0

什麼是使用閃存組件,像這樣的問題: -

$this->Flash->error(__('This is the warning.')); 

記住添加$this->loadComponent('Flash');在控制器的初始化函數,像這樣: -

class ArticlesController extends AppController{ 

    public function initialize(){ 

     parent::initialize(); 
     $this->loadComponent('Flash'); // Include the FlashComponent 
    } 

    // Rest of your code here... 
} 
相關問題