Symfony 1.4如果我希望通过表单字段进行更改,该怎么办?

时间:2012-12-26 16:52:35

标签: php symfony-1.4

假设我有一个用户注册表单。由于密码必须以md5编码存储,因此最好的想法是以红色方式对其进行转换,但看起来request是只读的。如何在处理过程中更改表单字段?

1 个答案:

答案 0 :(得分: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();