Symfony 3.0表格发布

时间:2016-04-24 03:03:20

标签: php mysql symfony

我正在使用Symfony 3.0表单构建器。我在发布数据时遇到问题,因为我发布的数据无法进行逆转换,因为发布的数据并不匹配。现在,我假设发生这种情况的原因是,数据被保存到数据库中,其中有很多\ r \ n可以在最后,或者在行之间和行之间创建段落,可以只是一个\ r \ n或多个。这些文本用作选择的选项值。我认为Symfony是"修剪"并且可能会做一些额外的步骤来确保数据进入数据库的方式。

我在调试时开始查看Symfony表单类,我看到它在每个字段发布数据时会执行一些正则表达式和修剪。但是,我尝试使用它来尝试匹配来自db的数据,以便在表单发布时该值与字段的值匹配,但是不成功。基本上,我需要找到一种方法来确保我清理数据以匹配Symfony将在select选项上设置之前所比较的数据。

你们是否确切地知道Symfony是如何修剪"发布时的数据?只是想做同样的过程,以便在发布时匹配数据。我更喜欢在数据库上的数据本身上这样做,但是,目前一些PHP代码与Symfony正在做的事情相匹配会很棒。

提前谢谢

编辑1 忘记提及可能有其他字符/转义序列,如换页\ f等。这来自用户在保存数据时所做的复制/粘贴,

1 个答案:

答案 0 :(得分:0)

想出解决这个问题的方法。因此,使用Symfony \ Component \ Form \ Util \ StringUtil类的trim方法,我将选项值包装在其周围,当它发布时,它与Symfony一样,因此值现在匹配。我失败的地方(之前我曾经尝试过)是因为我在选项价值的一部分上做了这个而不是整个价值,只考虑我试图解决的部分是问题,但事实并非如此。一切都很好。

回答以防万一将来遇到类似的问题。