2016-12-13 49 views
0

我們正在使用Zend\Form實現REST API。這對HTTP方法PUTPOST工作正常。這兩種類型的請求都包含對象數據的完整表示,因此使用Zend\Form來驗證它是不容易的。我們只是將接收到的數據設置在表單實例上並完成。Zend Form和REST:使Zend Form接受部分數據以實現HTTP PATCH方法

但是,PATCH請求只包含部分數據:應該被改變的數據,沒有別的。僅僅在表單上設置收到的數據會導致驗證失敗,因爲顯然有些數據丟失。

你能讓Zend\Form以某種方式接受部分數據嗎?這是什麼'allow_empty'InputFilter選項在那裏?或者在設置表單上的數據之前,我們必須手動獲取現有數據並手動合併它與接收到的數據?

回答

0

顯然Zend\Form不應該支持部分數據。因此,要將Zend\Form用於PATCH請求,唯一的解決方案是從數據庫中提取完整對象,然後將請求的數據合併到提取的數據中。