$attribute)) { $this->addError($attribute, 'Invalid array'); } } ], ['email' ,'email' ], ['email' ,'unique' ], ['username' ,'unique' ], [['password_plain' ,'password_repeat'] ,'string','min' =>6 ], [['password_repeat'] ,'validatePasswordRepeat' ], [['role'], 'required'], [['role'], 'string', 'max' => 20], ]; } public function validatePasswordRepeat($attribute,$params){ if ( !$this->hasErrors()){ if ( $this->password_plain != $this->password_repeat ){ $this->addError($attribute, Yii::t('app', 'Jelszó és jelszó újra nem egyezik!') ); } } } public function attributeLabels(){ return [ 'email' =>'E-mail', 'username' =>'Felhasználónév', 'created_at' =>'Létrehozás dátuma', 'password_plain' => Yii::t('app','Jelszó'), 'password_repeat' => Yii::t('app','Jelszó újra'), ]; } public function beforeSave($insert){ if ( parent::beforeSave($insert)){ if ( $insert ){ $this->setPassword($this->password_plain); $this->generateAuthKey(); return true; } }else{ return false; } } public function afterSave($insert, $changedAttributes){ parent::afterSave($insert, $changedAttributes); $am = Yii::$app->authManager; $role = $am->getRole($this->role); Yii::$app->authManager->assign($role, $this->id); } }