解析表单“Symfony\Component\Form\Extension\Core\Type\PasswordType”的选项时发生错误:选项“0”、“1”不存在

lskq00tm  于 2022-11-16  发布在  其他
关注(0)|答案(2)|浏览(75)

我刚开始学习symfony框架,就得到了一个错误。
解析表单“Symfony\Component\Form\Extension\Core\Type\PasswordType”的选项时发生错误:选项“0”、“1”不存在。定义的选项为:“操作”、“允许额外字段”、“允许文件上载”、“始终为空”、“属性”、“属性转换参数”、“自动初始化”、“块名称”、“块前缀”、“引用方式”、“复合”、“约束”、“csrf字段名称”、“csrf消息”、“csrf保护”、“csrf令牌标识”、“csrf令牌管理器”、“数据”、“数据类”、“禁用”、“空数据”、“错误冒泡”、“错误Map”、“额外字段消息”、“帮助”、“帮助属性”、“帮助html”、“帮助转换参数”、“继承数据”、“无效消息”、“无效消息参数”、“是空回调”、“标签”、“标签属性”、“标签格式”、“标签html”、“标签转换参数”、“已Map”、“方法”、“发布最大消息大小”、“属性路径”、“必需”、“行属性”、“翻译域”、“修剪”、“上载最大消息大小”、“验证组”。
我甚至没有在任何地方设置0或1。当试图访问https://127.0.0.1:8000/register时发生错误。我的代码注册控制器是

<?php

namespace App\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\Form\Extension\Core\Type\PasswordType;
use Symfony\Component\Form\Extension\Core\Type\RepeatedType;
use Symfony\Component\Routing\Annotation\Route;

class RegistrationController extends AbstractController
{
    /**
     * @Route("/register", name="register")
     */
    public function register()
    {

        $form = $this->createFormBuilder()
            ->add('username')
            ->add('password', RepeatedType::class,[
                'type' => PasswordType::class,
                'required' => true,
                'first_options' => ['label','Password'],
                'second_options' => ['label','Confirm Password']
            ])
            ->getForm();
        return $this->render('registration/index.html.twig', [
            'form' => $form->createView()
        ]);
    }
}

我一直在youtube上关注symfony教程,他没有得到一个错误。我该怎么办?谢谢

编辑我在'first_options'和'second_options'中有一个错误正确的方法是'first_options' =〉['label' =〉'密码'],'second_options' =〉['label' =〉'确认密码']

fykwrbwg

fykwrbwg1#

你应该这样做:

$form = $this->createFormBuilder()
        ->add('username', TextType::class)
        ->add('password', RepeatedType::class, [
            'type' => PasswordType::class,
            'invalid_message' => 'The password fields must match.',
            'options' => ['attr' => ['class' => 'password-field']],
            'required' => true,
            'first_options'  => ['label' => 'Password'],
            'second_options' => ['label' => 'Confirm Password'],
        ])
        ->getForm();

并考虑到:

{{ form_start(form) }}
        {{ form_row(form.username) }}
        {{ form_row(form.password.first) }}
        {{ form_row(form.password.second) }}
        <button type="submit">Register!</button>
    {{ form_end(form) }}
kyvafyod

kyvafyod2#

如果未安装验证捆绑包,则会出现此错误。要修复此错误,需要通过运行以下命令安装验证捆绑包:
编写器请求验证

相关问题