I have made a Symfony 2 form to edit a EmailAccount
entity
class EmailAccount
{
protected $host;
protected $user;
protected $password;
}
However the $password
field is encrypted with AES in database.
So when the user posts my-secret-password
in the form, I want to set a different value in the entity (the encrypted value).
To encrypt, I have a simple service that does this: $encrypter->encrypt($string);
So how can I do this?
Here is my current form type:
class EmailAccountType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('host', 'text');
$builder->add('user', 'text');
$builder->add('password', 'password');
$builder->add('save', 'submit');
}
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults([
'data_class' => EmailAccount::class,
]);
}
public function getName()
{
return 'emailAccount';
}
}