2010-08-17 156 views
0

在Cake應用程序中,如果用戶提交表單以編輯記錄,那麼您認爲怎樣才能勾畫所做的特定更改?我想將值顯示給用戶正在更改的所有字段,並向他們提供確認更改或返回並更改它們的選項。我認爲它會涉及將提交的數據與現有記錄進行比較,但我希望Cake有一些內置功能來完成此操作。有什麼想法嗎?我也對任何javascript解決方案開放,但我希望對仍在石器時代運行的用戶有一個Cake後備。在提交表單之前顯示確認頁面

+0

我不知道你的應用程序的佈局是一樣(所以這可能是不可行的),但並不是讓用戶提交併審覈/確認他們剛剛輸入的所有內容,而是另一種解決方案是僅在新數據的每個輸入旁顯示一個靜態字段,其中包含舊數據。 – 2010-08-17 17:57:35

回答

1

這似乎是一個過時的過程,以驗證輸入。我可以看到這是用於計費屏幕,但不一定每當用戶想要編輯記錄時。這就像我們質疑他們的質量,並說:「你確定你輸入了一切正確嗎?」我認爲這是糟糕的設計,應該避免。他們會知道他們是否犯了錯誤。他們可以輕鬆地返回並在必要時再次進行更改。

我會建議提供簡單的表單驗證(確保電子郵件地址實際上是電子郵件地址,檢查電話號碼等)。除此之外,用戶可以輸入正確的信息。它可能會讓人煩惱不斷被問到,「你確定嗎?」

這就是說,做到這一點的一種方法(如果你必須)是修改你的默認方法。因此,舉例來說,如果你正在使用您的信息控制器稱爲更新()函數,你可以寫這樣的事情:

function update() { 
    if($this->data) { 
     if($this->data['Information']['confirmed']) { 
     // save updated information 
     } else { 
     // display changes to be made (use hidden fields and add confirmed=1) 
     }  
    } 
    // display edit form 
} 

我的意見是它的賭注,以保持功能全部在相同的方法如果可能的話。它防止代碼遍佈整個地方並變得難以管理。

祝你好運!

+0

我同意這是糟糕的設計,但不幸的是,這不是我所能接受的。不過,我很欣賞你的解決方案。 – Nick 2010-09-01 22:35:18

0

最好的辦法是在數據庫中創建一個歸檔和默認或第一填充和1將其設爲0,一旦他證實了這一點