При смене пароля необходимо вводить текущий пароль.
Подскажите пожалуйста, как его проверять в моделе?
Смена пароля
-
- Сообщения: 48
- Зарегистрирован: 2014.01.01, 21:08
Re: Смена пароля
array('password', 'compare', 'compareValue'=>$this->findByPk(Yii::app()->user->id)->password, 'on'=>'changePassword'),
сделал так
сделал так
-
- Сообщения: 48
- Зарегистрирован: 2014.01.01, 21:08
Re: Смена пароля
Вот проблема только в том, что пароль хранится в md5....
Как быть в таком случае? Как передать функции beforeValidate() значения, которые нужно отправить на валидацию
Как быть в таком случае? Как передать функции beforeValidate() значения, которые нужно отправить на валидацию
Re: Смена пароля
сделай свое правило.
-
- Сообщения: 339
- Зарегистрирован: 2012.01.06, 22:07
Re: Смена пароля
Код: Выделить всё
public function rules()
{
return array(
array('password, newPassword, verifyNewPassword', 'required'),
array('password', 'checkPassword'),
array('verifyNewPassword', 'compare', 'compareAttribute' => 'newPassword'),
);
}
public function checkPassword($attribute, $params)
{
if(!$this->hasErrors())
{
$user = User::model()->findbyPk(Yii::app()->user->id);
if(md5($this->password) !== $user->password)
$this->addError('password', 'Wrong password.');
}
}