Cakephp PHP WEB開発

【Cakephp2→4】バリデーションのfalse時、動的なエラーメッセージを返す

※本サイトはPR表記を含みます。

Cakephp2 でのバリデーションの結果が false の際に、エラーメッセージをセットするコードを見かけました。

Cakephp2: バリデーション結果が falseの際、動的にメッセージをセットする

$this->validator()->getField('name')->getRule('unique')->message .= "{$name}は利用されています";

チェーンメソッド的に各ゲット系メソッドをコールしたあと、エラーメッセージにプラスするような形です。

これをCake4で代替するものを探していた所、Cake4では以外に簡単に false の変わりに任意の文字列を返すだけでエラーメッセージとして解釈してくれるようです。

Cakephp4: バリデーション結果を false ではなく、エラーメッセージの文字列を返す

// バリデーション結果の return false; でなく、エラーメッセージにしたい文字列を返せばよい。
return "{$name}は利用されています";

簡単かよ。

Cakephp4: 条件付き/動的なエラーメッセージ
https://book.cakephp.org/4/ja/core-libraries/validation.html#dynamic-validation-error-messags

-Cakephp, PHP, WEB開発
-