2016-06-29 7 views
0

私は登録フォームを作成しようとしていますが、繰り返しパスワードを使用しないと正常に動作します。モデルに保存されますが、繰り返しパスワードを使用すると、データベース。私のコードは以下の通りです。Yii2パスワードが正常に動作しない

SimUser.phpファイル

public function rules() 
    { 
     return [ 
      [['user_email', 'user_password_hash','company_id','user_fname', 'user_lname','agree'], 'required'], 
      ['agree','required','requiredValue' => 1, 'message' => ''], 
      ['user_password_hash_repeat', 'compare','compareAttribute' => 'user_password_hash','message' => 'Password don\'t match'], 
      [['agree'],'safe'], 
      [['user_password_hash_repeat'],'safe'], 
      [['user_company', 'user_suspended', 'user_deleted'], 'integer'], 
      [['user_created'], 'safe'], 
      [['user_email'], 'string', 'max' => 255], 
      [['user_password_hash'], 'string', 'max' => 72], 
      [['user_fname', 'user_lname'], 'string', 'max' => 45], 
      [['user_auth_key'], 'string', 'max' => 32], 
      [['user_access_token'], 'string', 'max' => 100], 
     ]; 
    } 

私のコントローラのアクション:私は会社のモデルでのcomany名前を保存しています。ここ

public function actionSignup() 
    { 
     $company = new Company(); 
     $company->load(Yii::$app->request->post()); 
     $company->save(); 


     $model = new SimUser(); 
     if ($model->load(Yii::$app->request->post())) { 
      $model->setPassword($model->user_password_hash); 
      $model->generateAuthKey(); 
      $model->company_id = $company->company_id; 
      //var_dump($model); exit(); 
      $model->save(); 
      $model = new LoginForm(); 
      return $this->render('login',[ 
       'model' => $model, 
      ]); 
     } 
     return $this->render('signup', [ 
      'model' => $model, 
      'company' => $company, 
     ]); 
    } 

サイト/サインアップし、ユーザーで他人表。

私の見解は、ファイル:画像click here としてsignup.php

<h1>Sign Up</h1> 
       <?= $form->field($model, 'user_fname')->textInput(['placeholder'=>'First Name*','class'=>'form-control col-lg-4'])->label(false);?> 
       <?= $form->field($model, 'user_lname')->textInput(['placeholder'=>'Last Name*','class'=>'form-control col-lg-4'])->label(false); ?> 
       <?= $form->field($model,'user_email')->textInput(['placeholder'=>'Email*','class'=>'form-control col-lg-4'])->label(false); ?> 
       <?= $form->field($model, 'user_password_hash')->passwordInput(['placeholder'=>'Password'])->label(false); ?> 
       <?= $form->field($model, 'user_password_hash_repeat')->passwordInput(['placeholder'=>'Confirm Password*','class'=>'form-control col-lg-4'])->label(false); ?> 
       <?= $form->field($company, 'company_name')->textInput(['placeholder'=>'Company Name*','class'=>'form-control col-lg-4'])->label(false); ?> 
       <?php echo $form->field($model, 'agree')->checkbox(); ?> 
       <div class="form-group"> 
        <?= Html::submitButton('Sign Up', ['class' => 'pull-left padding-0 btn btn-success', 'name' => 'signup-button']) ?> 
       </div> 

会社に対するエラーメッセージが行かない、それが常に..です取り付けられた出力あなたの誰も私が解決することができますこの問題?前もって感謝します!!コントローラで

Company.php */

public function rules() 
{ 
    return [ 
     [['company_name'], 'required'], 
     [['company_name'], 'string', 'max' => 75], 
    ]; 
} 
+0

は私のポストに 'Company'モデル –

+0

を追加しましたcompnyモデルを提供@DoubleH –

答えて