1
私のCakePHPアプリケーションでは、a kind previous suggestionのおかげで、モデルレベルでフォームを検証するPersistantValidationプラグインをセットアップしました。このプラグインは基本的に、基本となるページ(例:register.ctpビューまたはlogin.ctpビュー)にリダイレクトせずに、部分的にモデル検証を使用できるようにします。プラグインによるCakePHP検証の質問
検証は、ログインフォームには効果的ですが、何らかの理由でユーザー登録フォームで正しく機能していません。
コントローラは、次のようになります。
function register() {
if(!empty($this->data)) {
$name = $this->data['User']['name'];
$email = $this->data['User']['email'];
$password = $this->Password->generatePassword();
$this->data['User']['password'] = $this->Auth->password($password);
$this->User->create();
if($this->User->save($this->data)) {
$this->Session->setFlash(__('Your account has been created!', true));
$this->redirect(array('controller' => 'users', 'action' => 'offers'));
} else {
$this->redirect($this->referer());
}
}
}
PresistentValidationコンポーネントも適切に設定され、それは、同じコントローラでログイン()関数の中だけで正常に動作するので、含まれています。このコードを実行すると、何も起こりません。部分的なリダイレクトはありませんが、良いですが、エラーは表示されません。また、エラーはregister.ctpビューに表示されます。つまり、検証自体に問題はありません。
誰にもアイデアはありますか?
クイックメモ:パスワードのモデル全体は必要ありません。 Userモデルには 'generatePassword'関数しかありません。 – RabidFire
パスワードが二重にハッシュされていないことを確認してください:) –
あなたのユーザーモデルのコードを投稿できますか? – infinity