问题描述
|
我有一个带有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);
}