我正在尝试修改员工表格,但密码字段有问题。
当我在表单上时,如果没有在使用空白密码修改的密码中插入任何内容。这是不正确的,我希望如果用户对密码什么都不做,密码不会为空。
如果未提交(修改),请不要更新密码字段。我想这就是你所需要的
/**
* @ORM\Entity
**/
class User
{
// your setters/getters
public function setPassword($password)
{
if (null === $password) {
return;
}
$this->password = $password;
}
}
这里的问题是你使用一个字段来保存两个不同的东西:一个普通的密码和它的哈希。因此,只有当不为空时,才将它们拆分为$plainPassword
and$password
并更新字段:$password
$plainPassword
if ($plainPassword = $user->getPlainPassword()) {
$encoder = $this->get('security.encoder_factory')->getEncoder($user);
$password = $encoder->encodePassword($plainPassword, $user->getSalt());
$user->setPassword($password);
}