更新用户帐户需要新密码

贾阿维奇

我是symfony的新手,并且正在使用sfDoctrineGuard Plugin开发symfony 1.4版本中的现有项目。我正在尝试在后端更新用户帐户,它需要同时设置一个新密码。更新用户时,密码字段不应为必填字段。这是我正在采取的步骤

1)通过“用户帐户”在后端中编辑用户2)保存用户而不进行任何更改,确保密码字段均为空白。3)表单引发以下错误:“需要密码”

这是我的“编辑表单”代码

class sfGuardUserEditForm extends BasesfGuardUserForm
{

$this->widgetSchema['password'] = new sfWidgetFormInputPassword();
$this->validatorSchema['password'] = new sfValidatorPassword(); 
$this->widgetSchema['password_again'] = new sfWidgetFormInputPassword();
$this->validatorSchema['password_again'] = new sfValidatorString(array('max_length' => 128, 'required' => true, 'empty_value' => null), array('required' =>'Please provide password again' ));

$this->widgetSchema->moveField('password_again', 'after', 'password');

$this->mergePostValidator(new sfValidatorSchemaCompare('password', sfValidatorSchemaCompare::EQUAL, 'password_again', array(), array('invalid' => 'The two passwords must be the same.')));

}

public function save($conn = null)
{
$this->object->setPassword($this->getValue('password'));
$this->object->save();
}
}

如何解决这个问题?

贾阿维奇

您还可以检查对象是否已经存在1。如果存在,则不验证编辑时的密码字段;如果不存在,则必须验证密码字段。

if ($this->getObject()->Exists())
{
$this->validatorSchema['password'] = new sfValidatorPassword(array('required'=>false));
}
else 
{
$this->validatorSchema['password'] = new sfValidatorPassword(array('required'=>true));  
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Rails:更新用户,但密码无效

来自分类Dev

Laravel更新用户时空密码被散列

来自分类Dev

Laravel中的批量更新密码

来自分类Dev

Django更新密码不起作用

来自分类Dev

Laravel更新密码通过验证但未更新记录

来自分类Dev

Symfony 2-更新用户密码

来自分类Dev

使用Devise更新密码后,如何保持用户登录?

来自分类Dev

Rails + Devise:使用或不使用密码更新用户

来自分类Dev

laravel 5,更新用户密码

来自分类Dev

Laravel 5使用无密码更新用户记录

来自分类Dev

让用户更新密码-解析-Swift

来自分类Dev

RESTful更新密码

来自分类Dev

定期发送电子邮件给用户以更新密码

来自分类Dev

创建帐户后,如何设置新用户的密码?

来自分类Dev

无法在us-central1中更新密码

来自分类Dev

Firebase Admin SDK无法按预期更新密码

来自分类Dev

如何使用“重置密码”上的新密码更新密码

来自分类Dev

更新密码时的ActionController :: InvalidAuthenticityToken

来自分类Dev

更新密码时如何解决用户注销问题?

来自分类Dev

创建帐户后,如何设置新用户的密码?

来自分类Dev

symfony更新用户而不更改密码

来自分类Dev

尝试更新用户帐户时设计强参数

来自分类Dev

需要允许用户使用电子邮件php更新密码

来自分类Dev

Laravel中的批量更新密码

来自分类Dev

Symfony 2-更新用户密码

来自分类Dev

Rails + Devise:使用或不使用密码更新用户

来自分类Dev

如果输入新密码,则在PHP中更新密码mysqli

来自分类Dev

仅当在Django admin中更新用户时输入密码时才更新密码

来自分类Dev

更新用户信息