我想使用任何类型的 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'选项。