2013-06-05 29 views
4

我的ZF2使用了我在處處看到的簡單結構,inputFilters在模型中設置並在驗證期間應用於表單。但我真的在這裏遇到了一堵牆。你如何處理一個表單的驗證,該表單有一些需要針對一個模型進行驗證的字段以及需要針對另一個驗證的字段?Zend Framework 2 - 來自多個輸入過濾器集合的表單驗證?

我的方案:我正在使用一個表單在我的數據庫的兩個表中插入2個條目(添加一個用戶,並添加一個鏈接到該用戶的捐贈)。有些字段將放在一張表中,其他字段放在另一張表中。

就像我說的,我的輸入過濾器存儲在模型級別。

如果我的整個場景中涉及只是一個模型/表,例如存儲一個捐贈,沒有別的,我會去如下:

$donation = new Donation(); 

$form->setInputFilter($donation->getInputFilter()); 
$form->setData($request->getPost()); 

if ($form->isValid()) { 

$donation->exchangeArray($form->getData()); 
$this->getDonationTable()->saveDonation($donation); 

我能做到以上。

但我想分析和驗證表單數據對兩組inputFilters,我從2個模型收集。一個用於捐贈模型的數據和一個用於數據的數據。

$donation = new Donation(); 
$user = new User(); 

$form->setInputFilter($donation->getInputFilter()); 

然後我會添加類似::(顯然不存在)

$形式 - > addInputFilter($用戶> getInputFilter()),因此這樣的事情後,我

這樣我就可以繼續使用......

$form->setData($request->getPost()); 

if ($form->isValid()) { 

    // add donation 
    // add user 

我很驚訝我還沒有發現這個在互聯網上的東西,是我使用的模型和inputFilters不正確的方法是什麼?你如何處理一個表單的驗證,該表單有一些需要針對一個模型進行驗證的字段以及需要針對另一個驗證的字段?

回答

相關問題