2011-05-06 71 views
2

我試圖整合一個內容過濾API。我的計劃是使用前/後驗證器,但我可能以某種方式失敗。如何過濾和驗證symfony 1.4中的表單域?

我需要做的是將值發送到內容過濾服務。如果響應返回內容已被過濾,它也將返回一個修改後的值(基本褻瀆過濾...匹配用星號代替)。這一切都很好,我可以拋出驗證錯誤沒有問題 - 簡單的東西。

但是我不想只是拋出錯誤。需要發生的是驗證錯誤是正常拋出的,但是值會在窗體中修改以重新顯示。

基本上,如果有人發佈頑皮的東西,我希望他們得到一個驗證錯誤,說他們的帖子已被修改,他們可以重新提交現在「乾淨」的帖子,或者他們可以去編輯它,使其清潔,沒有單詞替換。

但是,在一個驗證器上執行clean會拋出一個錯誤,或者返回已清除的值,而不是兩者。我該如何去實現兩者?這將用於許多不同字段名稱的不同形式,因此修改表單或表單基類的方法並不是真正的選擇 - 它需要以某種方式在驗證子框架中發生。

+1

它看起來像sfValidatorError在sfValidatorErrorSchema已經從原崗位'「值」 => $ value'調整這個插件?你能解決這個問題嗎? – matt 2011-05-06 17:36:08

+0

@matt:我甚至沒有想到這是一種可能性,雖然離我頭頂我不能想到一種方法來獲取價值bak到窗口小部件/ formField顯示,而無需修改視圖或窗體類。但這個想法似乎值得追求。 – prodigitalson 2011-05-06 19:45:41

回答

0
+0

感謝您的建議,但除非我遺漏了一些事情,如果有褻瀆拋出一個驗證錯誤...我需要拋出一個錯誤**和**更新將顯示的形式時重新顯示的值 - 哪是我真正遇到麻煩的地方。 – prodigitalson 2011-05-06 05:53:21