2016-11-16 67 views
0

我只是想知道如何使用cakephp 2.x構建一個像這樣的註冊表單: 成員可以有多個工作時間和多個度假時間。 應該有一個大的註冊表單,一個提交按鈕和3個視覺上分開的區域:memberdetails,workingtimes,vacationtimes。 註冊期間,會員應在會員詳細信息中輸入其個人信息,並在點擊提交按鈕之前在指定區域添加任意工作時間以及任意度假時間。在提交整個表格之前,所有輸入的時間應該在表格中列出。在某些時候,會員細節,工作時間和休假時間看起來不錯,用戶提交表格(我知道這只是理想情況,並且缺少一些功能)。 我的第一個方法是在成員表單中添加工作時間和休假時間的表單,並通過Ajax-POST將序列化表單數據發送到其他控制器操作(Workingtime-> add,Vacationtime-> add),並將整個相關數據像通過Ajax的Crud索引函數,並將響應注入註冊表單而不重新加載它。這似乎使驗證,安全組件或視圖佈局變得簡單,因爲大部分工作將由cakephp完成,而不是通過javascript完成,但我認爲只有當我已經爲該成員準備好數據庫ID時才能使用 - 在此之後我可以存儲工作時間和休假時間。就像所有人已經說過的,我希望一個表單帶有一個提交按鈕,並且即使在那裏已經添加了工作時間或休假時間的情況下也能夠取消整個註冊。CakePHP高度集成註冊表格

那麼實現這樣一個整合形式的蛋糕方法是什麼?在表單加載時啓動一個事務並創建一個虛擬成員是否有用?然後使用這個虛擬記錄的ID來存儲相關的工作時間和休假時間?當點擊提交按鈕時,虛擬成員會更新以存儲輸入的個人數據,並且所有內容都可以提交?還是應該只輸入相關的模型數據而不保存,然後將這些數據緩存到最終的事務塊? 有沒有其他想法?

回答

0

我認爲最好的方法是管理狀態。允許用戶輸入基本數據,更改狀態,然後您可以詢問更多信息,但您將擁有用戶ID來關聯和匹配信息。如果用戶稍後回來,它將已經具有當前狀態。

隨着蛋糕,一個組件將幫助你從一步到另一步。你輸入的每個數據都應該被驗證。