讓我們假設我有一個用戶註冊表單。由於密碼必須以md5編碼存儲,所以最好的辦法是將其轉換爲redhand,但看起來request
是隻讀的。如何在處理期間更改表單域?Symfony 1.4如果我想要一個表單域來改變某些東西,該怎麼辦?
0
A
回答
1
您可以使用窗體的自定義驗證器。創建這樣一個類:
<?php
class encodeValidator extends sfValidatorBase
{
/**
* @see sfValidatorBase
*/
protected function doClean($value)
{
return md5($value); //md5 can be replaced with another encoding method
}
}
接下來,當您創建窗體中添加你所創建的自定義驗證,像這樣:
$this->setWidget('field_name', new sfWidgetFormInputText());
$this->validatorSchema['field_name'] = new encodeValidator();
+0
是不是有更容易的解決方案呢?前一段時間,編輯_POST數組更容易。例如,有一個「自動增量」ID,我不需要它,但驗證程序會失敗 – user1929946
+1
那麼,在框架中,你總是可以通過你的方式來實現。這只是一個「Symfony」的方式來實現這一點。 :P – Leprosy
相關問題
- 1. make_heap()函數參數 - 如果我不想包含某些元素,該怎麼辦?
- 2. 我想改變textSize,但我不想改變厚度,我該怎麼辦?
- 3. 我需要通過更改vimrc來測試某些東西
- 4. iOS編程:如果我想要模糊佈局,該怎麼辦?
- 5. 如果我想要一個條件不被檢查兩次,該怎麼辦?
- 6. 我想要通過django執行某些東西
- 7. 我想寫一些東西后,我想要在第一行CONSOL ..我怎麼能得到?
- 8. 如果我需要修改涼亭的內容,該怎麼辦?
- 9. 東西要改變
- 10. rethinkdb集羣,如果某些服務器關閉,該怎麼辦?
- 11. 我想從初始化列表中移出一些東西,我應該怎麼做?
- 12. 如果我想要執行一些操作,如果我將兩個iPhone靠得更近,我該怎麼做?
- 13. 如果某些用戶不需要成爲用戶,該怎麼辦?
- 14. 如果我不想在jquery ajax調用中返回任何東西,該怎麼辦?
- 15. 我該怎麼辦這個效果?
- 16. C++,我應該包括一些東西,如果我需要它*和*其他東西,它包括?
- 17. jQuery如果元素包含某些東西,做些什麼
- 18. 我想爲CFStringRef聲明一個屬性,我該怎麼辦?
- 19. 如果我只想讓一個班級訪問我的表單控件,該怎麼辦?
- 20. 如果我不想同步聯繫人,該怎麼辦?
- 21. 如果拋出IOException,我該怎麼辦?
- 22. 如果我想在內存緩存中存儲一個None值,該怎麼辦?
- 23. 我想要一個按鈕出現在這行代碼上,我該怎麼辦?
- 24. 怎麼辦? .htacces或其他東西?
- 25. 只是想讀取XML片段,並改變一些東西
- 26. 如果我需要零大小的陣列,我該怎麼辦?
- 27. 我做了一些可能對社區有用的東西。怎麼辦?
- 28. 我怎麼能使用一些東西一樣
- 29. 從外部改變一些COM「東西」
- 30. 期待列表[未來],如果未來失敗,該怎麼辦?
你是什麼意思由* redhand做*?順便說一下,md5很弱。 [使用更強大的東西](http://stackoverflow.com/a/401684/569101)(如sha1或bcrypt)。 – j0k
在請求到達之後並且在它進入數據庫之前。在此期間,我想編碼它。 – user1929946