CakePHP4でヴァリデーションだけ行う

CakePHP4でヴァリデーションだけ行うには、CakeBookでは下記のように

// ArticlesController クラスにおいて
$article = $this->Articles->newEntity($this->request->getData());
if ($article->errors()) {
// エラーメッセージが表示されるためのコードを書く
}

と書いてあるけど、これは間違い。
エンティティ―にerrors()メソッドはなくなったようで、代わりにgetErrors()を使うようです。
たしかCakePHP3.8あたりから取得系のメソッドは全部get何チャラとかになったので、これに限らずメソッドがないとおもったらとりあえずget(設定系ならset)を付けてみましょう。

まぁ、ソースみろってことですね。
とはいえ、PHP5系の呪縛をとかれてtraitだのinterfaceだの使いまくってるからリーディングが面倒なんですよね。ネットで調べると古いバージョンのものばかりヒットして、リファレンスにもナチュラルに間違いが書いてあるので初心者な人には厳しいですね。

タイトルとURLをコピーしました