2011-10-20 20 views
0

我有问题试图在提交后覆盖表单字段的值。目前该表格包含一个textarea和文件上传输入,但只有一个被使用。如果用户上传文件,则将其解析为文本。我想在文件重新加载时使用从文件解析的数据作为文本的值,而不是文本框中的内容(空)。直到绑定后才能确定内容。Symfony将不会填充绑定后大字符串的表单()

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

作品

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

不行的,即使文本值实际上是被设定。

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

回答

0

FIX: 我想任何函数symfony使用来填充从绑定字段()的值具有非标准字符的问题。不幸的是,它不会抱怨它,或让这个问题真正发生。清理数据后,它工作正常。

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