在bind()之后,Symfony不会填充带有大字符串的表单

时间:2011-10-20 19:57:49

标签: symfony1 symfony-1.4

我在提交后尝试覆盖表单字段的值时遇到问题。目前,表单包含textarea和文件上传输入,但只使用了一个。如果用户上传文件,则将其解析为文本。我想使用从文件解析的数据作为页面重新加载时textare的值,而不是文本框中的内容(空)。直到绑定之后才能确定内容。

我所做的只是再次绑定数据,以便在解析文档后手动设置textarea的值。如果我对值进行硬编码很有效,但是当我使用文件的全部内容时,textarea中没有任何内容。没有某种长度限制或可能会干扰人口的东西?我已经尝试过短字符串并且它们工作正常,但这些文件的长度大约为4k,并且不会填充在文本区域中。

作品

$this->form->bind(array('text'=>'1234'), $request->getFiles('profile_generate') );

即使实际设置了值文本,也不起作用。

$this->form->bind(array('text'=>$largeString), $request->getFiles('profile_generate') );

1 个答案:

答案 0 :(得分:0)

FIX: 我想Symfony用来从bind()值填充字段的任何函数都有非标准字符的问题。不幸的是,它没有抱怨它或者让问题真正发生。清理完数据后,工作正常。

$largeString = preg_replace('/[^(\x20-\x7F)\x0A]+/',' ', $largeString);
$this->form->bind(array('text'=>$largeString), $request->getFiles('profile_generate') );