假设我有一个用户注册表单。由于密码必须以 md5 编码存储,最好的办法是将其转换为 redhand,但它看起来request
是只读的。如何在处理过程中更改表单域?
问问题
277 次
1 回答
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();
于 2012-12-26T21:28:14.067 回答