2010-02-11 42 views
2

我是codeigniter的新手,我剛剛創建了一個測試登錄系統。 ...表單助手:有沒有其他的好處?

我想爲這個登錄系統創建一個表單,因爲我剛剛通過用戶名/密碼直接進行測試。

我想解決使用form helper的好處。它可以幫助我輕鬆地構建一個表單,但是我可以不用純粹的HTML做到這一點嗎?是否還有形式助手的另一個好處 - 我只是談論創建表單而不是驗證的部分 - 我猜我可以使用驗證,而不管表單是如何創建的?

Thanks all

回答

3

表單助手的存在讓您可以通過程序控制表單。是的,你可以用HTML編寫它,但是當你想自動填充需要在提交和表單通用的其他類似東西之間保持的字段時,你會發現自己將PHP插入到HTML中。使用這個幫助器可以將你的邏輯保存在控制器中,並且儘可能地將你的視圖放在視圖之外。

順便說一句,學習MVC的好選擇!

+0

我其實是有麻煩的工作,如果我應該把在我的意見或控制器的一個形式的輔助函數調用。我認爲它的最佳觀點是? 這是否也意味着我將無法使用form_validation規則? – Abs 2010-02-11 01:19:07

+0

我保持我的控制器很薄,除了一個胖'form_validation'必須在'controller'中運行。採用這種方法,我可以更快地編寫代碼,並且更輕鬆地進行調試。所有業務流程都在'model'中。所有演示代碼都在'view'中。 'Controller'只是從'model'獲取數據並將其提供給'view',或者從form獲取數據,'validate',然後將其提供給'model'。也看到我的答案。 – 2010-02-11 02:09:27

0

這些是Form_Helper的功能,我總是鑑於我的項目文件中使用:

  • form_open
  • form_close
  • form_dropdown
  • form_checkbox
  • form_radio
  • set_value

對於其他字段類型,如<input type="text" />,我離開它是,因爲視圖文件是由HTML/CSS設計師在我的團隊提供一個HTML文件,直接翻譯過來,或者我的客戶提供。我保持最小的變化,並且只在這些表單域的value=""屬性中使用set_value

因爲它叫助手,它可以幫助你。它將使複雜功能更容易地在select元素中選擇默認值。您的視圖文件將更加清晰,因此它將更容易閱讀並搜索錯誤來源。

Form_validationform_helper沒有任何關係。驗證在控制器中運行,form_helper在視圖中。驗證是在處理之前過濾該值並將其放入數據庫中。 Form_helper是讓您的任務顯示錶單域並顯示或選擇默認值更容易。機器人可以一起使用,只是其中之一,或者兩者都不能。全取決於你。