0

私はこの問題がここでたくさん言及されているのを見てきましたが、満足のいく答えが見つからなかったので、少し違った方法でそれを定式化しようとします:

同じページにログインフォームとユーザー登録フォームがあります(「フロントページ」と呼びましょう)。

各フォームは、異なるコントローラーアクションにつながります。検証時に、cakephpはusers/loginおよびusers/registerビューに検証エラーを表示しようとしていますが、これらのビューがないため、リダイレクトを実行する必要があります。表紙"。ただし、リダイレクトすると、検証データは失われます。

ログイン機能と登録機能用に個別のページを追加せずに、フロントページに表示される検証データを維持するにはどうすればよいですか?

4

1 に答える 1

1

Cakephp はその検証エラーを

$this->ModelName->invalidFields();

永続的に動作させたい場合は、セッション変数に保持する必要があると思います。つまり、リダイレクトによってプロパティ値が失われている場合は、それをセッション変数に保持してみてください。

アップデート:

invalidFieldsは検証プロセス全体を再度実行し、代わりに$this->ModelName->validationErrorsを使用する必要があります。

于 2012-09-23T14:53:33.640 に答える