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