2012-04-14 207 views
1

我想知道什麼是使用CodeIgniter顯示信息形式警告消息的最佳方式。與CodeIgniter表單驗證引發的錯誤消息類似,但仍可以在顯示警告消息時繼續執行操作。CodeIgniter形式警告消息?


例如,目前,我正在創建一個允許用戶註冊事件的系統。管理員可以將事件添加到系統中。每個事件有兩個日期/時間。

  • 的註冊開放時間:這是日期和時間,當人們可以開始註冊,註冊一個事件
  • 活動開始時間:這是當事件實際開始

驗證確保「註冊開放時間」在「事件開始時間」之前 - 如果不是,則顯示錯誤消息。

但是,對於大約95%的事件,「註冊開放時間」將在「事件開始時間」前兩天。對於其他事件,差異可能會更大。

如果兩個日期之間的差異大於兩天,則向用戶顯示警告將是可取的。即使顯示了警告消息(不是錯誤消息),只要驗證已通過,用戶仍應能繼續執行其操作(例如,向數據庫添加新事件)。


是否有推薦的方法來處理和顯示警告消息?

+0

我會說只是用JavaScript來做,並在用戶輸入時顯示警告權。 (並且不需要再次驗證。) – Ryan 2012-04-14 23:58:47

+0

在提交表單之前顯示消息?即:當事件類型被選中時,對事件開始時間做一個ajax請求,並通過php strtotime()與'now'進行比較。 – Philip 2012-04-15 06:16:03

+0

謝謝。在他們提交表單之前顯示消息似乎更加用戶友好,使用JavaScript是我最初的想法 - 所以我會繼續這樣做。 – jleft 2012-04-15 13:58:38

回答

2

我對這類東西使用flash_messages。

我所有的視圖都有一個功能,所以無論何時我需要告訴用戶一些東西 - 它會顯示在任何&所有頁面上。

然後當你處理表單時,你會接受它,但你會測試「警告」。如果發現警告,則使用警告消息設置flash_message。無論用戶接下來看到什麼屏幕都會顯示警告。

+0

謝謝@Laurencei。你會在會話中使用Flashdata,使用CodeIgniter的會話類來做到這一點?還是有更好的/另一種方式? – jleft 2012-04-22 17:33:51

+0

我使用flash_message spark - 來自www.getsparks.org - 這是一個簡單的方法來使用CI的閃光消息系統 - 效果很好 – Laurence 2012-04-22 20:56:53

+0

好的,謝謝,這看起來像一個不錯的解決方案! – jleft 2012-04-22 21:17:45