- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:CakePHPでバリデート)
CakePHPでバリデート処理を行う方法
このQ&Aのポイント
- CakePHPでバリデート処理を行う方法について質問があります。ビュー側ではformヘルパーを使用してフォームを作成し、コントローラ側では$this->Model->set($this->data);と$this->Model->validates();を使用しますが、実際にバリデート処理を行っているのはどちらの式なのでしょうか?また、フォームの内容がバリデートに合格した場合、$this->Model->validates()はtrueを返すのでしょうか?
- CakePHPでのバリデート処理について質問です。ビュー側ではformヘルパーを使用してフォームを作成していますが、コントローラ側で$this->Model->set($this->data);と$this->Model->validates();を使用しているのですが、実際にバリデートが行われるのはどちらの式なのでしょうか?また、バリデートに合格した場合、$this->Model->validates()はtrueを返しますか?
- CakePHPでのバリデート処理についての質問です。ビューではformヘルパーを使用してフォームを作成し、コントローラでは$this->Model->set($this->data);と$this->Model->validates();を使用していますが、バリデート処理はどちらの式で行われているのでしょうか?また、バリデートが成功した場合、$this->Model->validates()はtrueを返すのでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
>実際にバリデート処理を行っているのはどちらのしきなのでしょうか? 文字通り$this->Model->validates();のほうです。 端折って言うとsetメソッドはModelのdata配列に値をセットする機能です。 >これはvalidatesメソッド内で判定してそのままtureを返しているということでしょうか? そもそもvalidatesメソッドを直接叩くケースはかなり限られていると思います。 一般的にcakeのModelはそのままデータベースのテーブルを指しますので、validateする目的は保存する値が正常かどうかの判定になるかと思います。 保存する際に使う $this->Model->save($this->data) のメソッドは第二引数をfalseに設定しない限りデフォルトでset->validates->saveまでの一連の流れを実行してくれます。validateで引っかかればもちろん保存はされずsaveメソッドはfalseを返してくれますので、この戻り値を判定してエラーか否かが判別できます。 基本的にbakeして生成されるソースコードが参考になるかと思います。