Symfony提交后设置隐藏值

问题描述

| 我有一个带有2个输入字段email和password(hidden)的表格。我正在尝试生成一个如下所示的随机值,但是提交后未能绑定密码(隐藏)值。
$password = substr(md5(rand(100000,999999)),6);

$this->form->bind($request->setParameter(\'password\',$password));
表单的setNameformat具有:
$this->widgetSchema->setNameFormat(\'user[%s]\');
    

解决方法

        如果是教义(或推动)表单,则可以通过在传递给表单构造函数之前在对象上设置值,然后将其从表单中完全删除来实现。 例如:
$o = new DoctrineOrPropelObject;
$o->setPassword($myrandomstring);
$f = new DoctrineOrPropelObjectForm($o);
然后照常显示/保存表单-保存后,密码值将直接通过表单过程传递给数据库。     ,        如果您使用此:
$this->widgetSchema->setNameFormat(\'user[%s]\');
那么您可以在单个变量中检索表单输入字段:
$request->getParameter(\'user\');
并且您想要分配的值需要使用类似以下的设置:
$request->setParameter(\'user[password]\',$password);
参考可以在这里找到。 问候。     ,        您可以覆盖表单的保存方法并添加
$this->values[$field] = $value;
像这样:
public function save($con = null) 
{
        $this->values[\'owner_id\'] = $this->values[\'owners_ids\'][2];` 
        return parent::save($con); 
}