2011-05-19 57 views
2

嘿,我們公司正在尋找開始使用FuelPHP作爲其主要開發框架。我個人來自CakePHP背景,非常喜歡Cake處理很多事情的方式,比如驗證 - 即在模型中設置一次規則,並且所有事情一起工作以遵守規則。但是,看起來他們有一個不同的方法,其中驗證規則需要在控制器中設置。這是很多重複的代碼 - 即,即使您只有添加編輯操作,這仍然是您需要定義規則的兩個地方。FuelPHP中類似CakePHP的驗證

因此,我希望有人能夠幫助我,並讓我知道模型是否可以處理驗證?

謝謝:)

+0

你應該將答案標記爲已接受,這是7個月大。 – 2012-01-01 17:36:37

回答

3

正如我一直忙於最近,令人遺憾的我還沒有得到輪記錄了很多。有幾個選項:

  1. 創建set_form_fields()與驗證使用您傳遞的字段集類的實例,並應設置所有字段(包括驗證)。一個例子可以是found here(儘管基於Fuel的過時版本)。一旦你在模型中有這樣一個方法,你可以使用Validation::factory()->add_model('Model_Example') (規則也可以在模型中創建的,與_validation_前綴他們並添加像上面的模型時,你可以使用它們)

  2. 設置驗證在奧姆\ Model類的$_properties財產的規則,並添加像1模型(ORM的\型號有set_form_fields()方法建立)

  3. 在ORM \ Observer_Validation添加到你的ORM \型號$_observers財產驗證將在保存模型後完成,並在失敗時拋出異常。這些錯誤可以通過類名從驗證類在此之後被取出,例如:當Model_Example實例失敗,因爲驗證的節省您可以使用Validation::instance('Model_Example')獲取全面驗證實例或使用抓取錯誤Validation::instance('Model_Example')->show_errors()