2011-12-31 94 views
0

我有形式在我的動作:symfony的1.4:對於形式,在一個動作,刪除字段

$這 - >形式=新SomeForm($這 - >數據);

窗體有一堆字段我不需要一個動作,但有我需要的另一個動作的東西。處理這個問題的最好方法是什麼?爲每個必要性創建一個單獨的表單,或者當我像上面那樣實例化時動態刪除字段?

謝謝

+0

您是否需要通過不同的操作調用相同的表單來顯示不同的字段數或具有不同默認值的所有字段(即沒有或沒有任何操作)? – macgyver 2011-12-31 12:42:58

+0

我計劃通過不同的行動顯示不同數量的字段 – Paul 2011-12-31 18:30:38

回答

0

這聽起來像你正在做一個多部分的形式。

我假設你想要驗證表單中提交的所有值,但不保存它們。

  1. 它聽起來像你正在做一個抽象形式,所以不要擴展一個基礎對象形式,而是擴展BaseForm。
  2. 不要取消設置值,使用表單來驗證它們,即使它們稍後會被使用。
  3. 它們被保存到表單對象,所以你可以使用它來傳遞值到你的下一個動作,所以這是有幫助的,再加上他們被驗證。
  4. 覆蓋表單中的doSave()以保存要保存的表單的對象。
0

在我這種情況的意見,延伸形式給每個需要和應用,通過設置,選擇性地unset指令的覆蓋,你會得到一個代碼變得更具可讀性和可維護性。

相關問題