1 回答

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個(gè)贊
如果要修改字段的驗(yàn)證方法,可以使用 Symfony?FormEvents
有了這個(gè),您可以將 EventListener 添加到 oldPassword 字段:
?$builder
? ? ? ? ? ? ->add(
? ? ? ? ? ? ? ? 'oldPassword',
? ? ? ? ? ? ? ? PasswordType::class,
? ? ? ? ? ? ? ? array(
? ? ? ? ? ? ? ? ? ? 'label' => 'Current password',
? ? ? ? ? ? ? ? ? ? 'mapped' => false,
? ? ? ? ? ? ? ? ? ? 'required' => false,
? ? ? ? ? ? ? ? ? ? 'error_bubbling' => true,
? ? ? ? ? ? ? ? ? ? // without constraint, so the form can be submitted without
? ? ? ? ? ? ? ? )
? ? ? ? ? ? )
? ? ? ? ? ? ->addEventListener(
? ? ? ? ? ? ? ? FormEvents::PRE_SUBMIT,
? ? ? ? ? ? ? ? function (FormEvent $event) use ($options) {
? ? ? ? ? ? ? ? ? ? // if plainPassword is set, then overwrite the form field with check
? ? ? ? ? ? ? ? ? ? if (isset(($event->getData())['plainPassword'])) {
? ? ? ? ? ? ? ? ? ? ? ? $form = $event->getForm();
? ? ? ? ? ? ? ? ? ? ? ? $form->add(
? ? ? ? ? ? ? ? ? ? ? ? ? ? 'oldPassword',
? ? ? ? ? ? ? ? ? ? ? ? ? ? TextType::class,
? ? ? ? ? ? ? ? ? ? ? ? ? ? [
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'label' => 'Current password',
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'required' => true,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'constraints' => new UserPassword(
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? [
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'message' => "Please enter user's current password",
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ]
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ),
? ? ? ? ? ? ? ? ? ? ? ? ? ? ]
? ? ? ? ? ? ? ? ? ? ? ? );
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? }
? ? ? ? ? ? );
- 1 回答
- 0 關(guān)注
- 116 瀏覽
添加回答
舉報(bào)