<?php
namespace AppBundleForm;
use AppBundleEntityUser;
use SymfonyComponentFormAbstractType;
use SymfonyComponentFormExtensionCoreTypePasswordType;
use SymfonyComponentFormExtensionCoreTypeRepeatedType;
use SymfonyComponentFormFormBuilderInterface;
use SymfonyComponentOptionsResolverOptionsResolver;
use SymfonyComponentSecurityCoreValidatorConstraintsUserPassword;
use SymfonyComponentValidatorConstraintsNotBlank;
class ChangePasswordForm extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add(
'current_password',
PasswordType::class,
[
'label' => 'form.current_password',
'mapped' => false,
'constraints' => [
new NotBlank(),
new UserPassword(
[
'message' => 'current_password.invalid',
]
),
],
]
);
$builder
->add(
'plainPassword',
RepeatedType::class,
[
'type' => PasswordType::class,
'invalid_message' => 'password.mismatch',
'options' => ['attr' => ['class' => 'password-field']],
'required' => true,
'first_options' => ['label' => 'form.new_password'],
'second_options' => ['label' => 'form.new_password_confirmation'],
]
);
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(
[
'data_class' => User::class,
]
);
}
}