Symfony3非法名称和禁用字符一般

时间:2016-03-25 08:54:56

标签: forms utf-8 symfony

我想使用任何类型的 char,如“é”或“è” 甚至空间 对于我的表单的大部分名称或标签 。 问题是我每次都得到:

  

“Téléphone”这个名字包含非法字符。名称应以字母,数字或下划线开头,并且只包含字母,数字,数字,下划线(“_”),连字符(“ - ”)和冒号(“:”)。

问题是我的网站是 法语 ,因此我需要使用这些字符。 有没有办法像utf-8那样使用编码?

编辑:

我使用空格和重音出现的其他情况进行编辑,但与前一个情况完全不同。 导致我遇到问题的代码:

$testForm = $this->createFormBuilder()
    ->add('Nom', TextType::class)
    ->add('Description', TextType::class);

$i = 2;
foreach ($listWidget as $key => $widget)
{
    $name = preg_replace("/[^a-zA-Z0-9]/", "", $widget->getNom());
    $formBuilder = $this->get('form.factory')->createNamedBuilder($i++, FormType::class, null); 
    $formBuilder
        ->add($name, ChoiceType::class, array(
        'choices' => array(
            'Créer' => 'C',
            'Afficher' => 'R',
            'Modifier' => 'U',
            'Supprimer' => 'D'),
        'multiple' => true,
        'expanded' => true,
        'choice_label' => $widget->getNom()));
    $testForm->add($formBuilder);
}
$testForm->add('send', SubmitType::class);
$profilForm = $testForm->getForm();

我收到此错误:

  

PropertyAccessor需要操作对象或数组的图形,但在尝试遍历“Contacts Client”属性的路径“Contacts Client”时发现类型为“string”。

“Contact Client”是$ widget名称之一,可能会获得重音符号。

编辑: 'choice_label'错误完全正常,我不得不使用'label'选项。

0 个答案:

没有答案