symfony 2表单字符串缺少第一个字符

类雄激素

我有一个使用symfony 2.2的应用程序该应用程序具有文件上传表单和另一个“ reportbuilder”表单。

我遇到的问题是,当我的任何输入字段值以'c'开头时,该字母都会被删除因此,如果提交的字段值为“ cat”,则绑定后的值将变为“ at”。

  • 这似乎只发生在以'c'开头的字符串中
  • 此问题发生在我任何形式的任何字符串上
  • 该问题发生在$ form-> bind()方法期间(或其中的某处-我已经验证了post变量到目前为止是正确的)
  • 这个问题发生在我的PREPROD机器上,但不是我的DEV机器(环境应该相同,没有进行广泛的比较以在大海捞针中找到针头……两个Redhat都安装了)

根据我所做的一些搜索,我怀疑它可能与字符编码有关(我曾尝试在各种环境之间进行比较),但我有些茫然。

如果有帮助,我可以提供一些代码,尽管由于问题仅发生在一台服务器上而不是另一台服务器上,所以我不确定symfony代码中的哪一个(如果有)会有所帮助。

有没有作为新手编码监督之类的东西脱颖而出?

编辑: 这发生在任何数量的前导“ c”中,因此“ cat”和“ ccat”以及“ Ccccccat”都将转换为“ at”

Edit2: 绑定后,我可以通过post变量手动设置文本字段,作为一种替代方法($document->setName($postvars['name']))。“ Reportbuilder”表单具有更多的嵌套表单(报告具有一个或多个选项卡,选项卡具有一个或多个额外的列,等等),这成为了一个更大的问题-因此,类似的解决方法很笨拙且不理想

Edit3: 添加代码

class DefaultController extends Controller
{

    public function indexAction()
    {
        ...
        $document = new Document();

        $form   = $this->createForm(new DocumentType($em,$user), $document);

        /// Here the name variable in the request is 'cat', as expected
        $form->bind($this->getRequest());
        /// Here the value of the 'name' parameter in the form is 'at'

        ...

    }
}

document.orm.yml:

Finance\GstBundle\Entity\Document:
    type:  entity
    manyToOne:
      report:
        targetEntity: Report
        mappedBy: report
      user:
        targetEntity: Finance\UserBundle\Entity\User
        mappedBy: user
    oneToMany:
      doctabs:
        targetEntity: Doctab
        mappedBy: document
      tabgroups:
        targetEntity: Tabgroup
        mappedBy: document
    table: document
    fields:
      id:
        type: integer
        id: true
        generator:
          strategy: AUTO
      name:
        type: string
        length: 255
        nullable: true
      path:
        type: string
        length: 255

...和DocumentType定义:

namespace Finance\GstBundle\Form;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;

class DocumentType extends AbstractType
{
    protected $em;
    protected $user;

public function __construct($em=null,$user=null){
    $this->em = $em;
    $this->user = $user;
}

public function buildForm(FormBuilderInterface $builder, array $options)
{



        $builder
            ->add('report','entity',array(
                'class' => 'FinanceGstBundle:Report',
                'property'=>'name',
                'empty_value' => '--Choose a Template--'
            ))
            ->add('name')
            ->add('file')
        ;
    }

    public function setDefaultOptions(OptionsResolverInterface $resolver)
    {
        $resolver->setDefaults(array(
            'data_class' => 'Finance\GstBundle\Entity\Document'
        ));
    }

    public function getName()
    {
        return 'finance_gstbundle_documenttype';
    }
}
类雄激素

在所有3个(dev / pre / prod)机器上修补RHEL之后,问题已自行解决。我正在做一次验尸,以找出导致我们遇到错误的特定程序包。

我们的RHEL版本在不同的服务器上处于不同的“状态”。在系统补丁中,PRE / PROD远远落后于Dev。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

symfony 2表单字符串缺少第一个字符

来自分类Dev

从HTML表单传递到Symfony的变量仅显示第一个字符?

来自分类Dev

C字符串中缺少第一个字符

来自分类Dev

Symfony 2 SecureRandom()返回一个字符

来自分类Dev

在字符串的第一个字符之后插入字符?

来自分类Dev

perl 或 sed 命令查找 2 个字符串并将第一个字符串替换为字符串 2

来自分类Dev

字符串小写的第一个字符-C#

来自分类Dev

快速获取字符串第一个字符的方法?

来自分类Dev

在作为字母的字符串中查找第一个字符

来自分类Dev

R从字符串中删除第一个字符

来自分类Dev

Pinvoke字符串中仅传递第一个字符

来自分类Dev

从字符串中删除第一个字符

来自分类Dev

Swift:比较字符串的第一个字符

来自分类Dev

Java获取字符串的第一个字符值

来自分类Dev

返回字符串中每个单词的第一个字符

来自分类Dev

从字符串中删除第一个字符

来自分类Dev

Android如何获取字符串的第一个字符?

来自分类Dev

C ++ fstream仅保存字符串的第一个字符

来自分类Dev

从字符串中删除第一个字符

来自分类Dev

在Oracle Server中删除字符串的第一个字符

来自分类Dev

查找数组字符串中的第一个字符

来自分类Dev

从字符串中提取第一个字符

来自分类Dev

从字符串Django模板中删除第一个字符

来自分类Dev

抓住字符串的第一个字符

来自分类Dev

在MySQL中替换字符串中的第一个字符

来自分类Dev

使用指针交换字符串的第一个字符

来自分类Dev

如何在第一个字符后屏蔽字符串

来自分类Dev

无法获得字符串数组中的第一个字符

来自分类Dev

从字符串中获取第一个字符的最快方法

Related 相关文章

热门标签

归档