[英]Symfony 1.4 what if I want a form field to be changed something through?
假設我有一個用戶注冊表。 由於密碼必須以md5編碼存儲,因此最好的辦法是將其以手寫方式轉換,但看起來request
是只讀的。 如何在處理期間更改表單字段?
您可以為表單使用自定義驗證程序。 創建一個這樣的類:
<?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();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.