我在提交后尝试覆盖表单字段的值时遇到问题。目前,表单包含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') );
答案 0 :(得分:0)
FIX: 我想Symfony用来从bind()值填充字段的任何函数都有非标准字符的问题。不幸的是,它没有抱怨它或者让问题真正发生。清理完数据后,工作正常。
$largeString = preg_replace('/[^(\x20-\x7F)\x0A]+/',' ', $largeString);
$this->form->bind(array('text'=>$largeString), $request->getFiles('profile_generate') );