質問

私のアカウントコントローラるのだが、独自のテーブルがユーザモデルです。

すべての動作を除きか検証せます。という検証に失敗した場合いず、検証チェックが作の誤り以下の分野

眺望

<?php echo $this->Form->input('id'); ?>
              <label for="UserPassword">New Password:</label>
              <?php echo $this->Form->text('password', array('type' => 'password', 'value' => 'harsha')); ?><em>Password must be min 6 characters.</em> <?php echo $form->error('password'); ?>

コントローラのアクション

            if($this->User->saveField('password', $this->data['User']['password'], array('validate' => 'first'))) {
                $this->Session->setFlash('Password has been changed.', 'flash-success');
            } else {
                $this->Session->setFlash('There was some problem with our system. Please try after some time.', 'flash-warning');
            }
役に立ちましたか?

解決

単にフォーム送信後、あなたのコントローラにdebug()だけでなく、あなたのビューで$this->validationErrorsの内容を$this->dataing試してみてください。これはからの仕事にあなたに多くの情報を与える必要があります。

代わりにAccount.idAccount.passwordUser.idUser.passwordのための建物のフォームフィールド -

私はあなたの問題はケーキが間違ったモデルに基づいてフォーム入力を構築していると思われます。 FormHelperは、コントローラからそのデフォルトモデルを取るので、これはあなたのケースでAccountsControllerを表示される、から呼び出されたの見解/です。

User.idUser.passwordが期待を扱うお使いのコントローラの提出をフィールド生成するために、あなたはあなたのUser.呼び出しでFormHelperを付加する必要があります。したがってます:

$this->Form->input('User.id');
$this->Form->text('User.password');

他のヒント

あなたは試したことがあります:

echo $session->flash();

マニュアルは言うどんなことを

注、それはエコーを返しません。 1.2私は戻っている間、このAをログに記録し、それが1.3手動で変更されていますが、ではない。

こんにちはきたい
したい場合はエラー-メッセージを返すからUserModelの検証
追加が可能なラインコード後、下記入力フォームのパスワード

  <?php 
      if ($this->Form->isFieldError('password')) { 
       echo $this->Form->error('password', array('class' => 'error')); 
    ?>

する場合がございますのでお示すエラーメッセージを設定する方法setFlash
すなリダイレクトのページを使用このセッション->フラッシュ('フラッシュの名前")のページのいいと思うので

   <?php
    //in UsersController
    $this->Session->setFlash('message here', 'flash-name');
    //in view
    echo $this->Session->flash('flash-name');
   ?>

幸運を祈っています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top