2011-12-10 6 views
0

私はテーブルにいくつかの登録値を追加するコントローラを持っていますが、コントローラではページが有効かどうかを知りたいですそのモデルに行って検証してエラーがあるときは、登録ページに戻りますが、ハッシュ値でパスワードを入力していますので、これを(検証した)場合は追加する必要があります。 ...ここに私のコードは、これに対する最も簡単な解決策は、あなたのためのvalue属性を設定することですコントローラから検証されたモデルであるかどうかを確認する方法

CONTROLLER

<?php 
class UsersController extends AppController { 

    var $uses = array("User"); 
    var $components =array('Session'); 

    function index() 
    { 
     $this->set('users', $this->User->find('all')); 
     $this->layout = 'master_layout'; 
    } 

     function add() { 

      if (!empty($this->data)) { 
//HERE I WOULD LIKE TO KNOW IF THE VALIDATION FROM MY MODEL RETURNED VALID OR NOT 

      $this->data['User']['user_password'] = Security::hash($this->data['User']['user_password']); 
      if ($this->User->save($this->data)) { 
       $this->Session->setFlash('Your were registered!.'); 
           $this->redirect(array('action' => 'index')); 
      } 
      } 

     $this->layout = 'custom_layout'; 
     } 

} 
?> 

答えて

0

ですパスワードを空にする。これを行う標準的な方法です。

エラーの内容とモデルが検証されたかどうかを知りたい場合は、モデルの$this->ModelName->validates()メソッドを参照することもできます。

ます。また、モデルのエラーを取得するには、このメソッドを使用することができます

から$this->ModelName->invalidFields()

クックブックリンク - http://book.cakephp.org/view/1182/Validating-Data-from-the-Controller

これは、CakePHP 1.3

+0

のために大丈夫です、私はどのように私だろう、簡単な解決策を試すことができますこれは私のパスワード入力がecho $ this-> Form-> input( 'user_password'、array( 'type' => 'password'、 'label' => 'Password')のようになります) – user710502

+0

ちょうど設定してください(パスワード '、'ラベル '=>'パスワード '、'値 '=>' ')) 'に' $ this-> Form-> input(' user_password '、array(' type '=>'パスワード 'そうすれば、ユーザーは常にパスワードを再度入力する必要があります。 – JohnP

+0

ジョン私はあなたが私に尋ねる気にしないことを願っていますが、私はcakephpを初めて使っていて、私は古いPHPサイトをケーキを使用するように変換しているので、私は既にパスワードをハッシュとすべてのケーキを使用してデータベースにデータを保存して登録を持って.. ..私はdivのユーザー名とパスワードとログインをクリックしたときにボタンのページの上部にログインしているjquery ajax関数を呼び出して、ユーザー名とパスワードを削除して歓迎メッセージを表示すると、このdivはWebサイトから表示されます。どのようにしてケーキでこれを行うことができますか? (理論的には)? – user710502

関連する問題