:: cakephp3 validationのエラーメッセージが表示されない時の解決方法

/ / WEB制作・開発

cakephp3で、ユーザーのアカウント登録周りを作っいた時に遭遇したcakephp3ならではの仕様。結構はまって、ネットにも情報がなかったので同じ境遇の人たちの為にメモしておきます。

起きたことは、modelのvalidation機能を使った場合にメッセージだけ表示されないという問題です。

結局teratailさん(https://teratail.com/)に聞いたら速攻返事があって解決できました。coba-cobaさんありがとうございます!!

解決ポイントはViewファイルでした。以下coba-cobaさんからのお言葉です。

 

$this->Form->textで出力する場合は、バリデーションのメッセージを表示するために$this->Form->errorが必要です。
$this->Form->textは自分でカスタマイズしやすいように用意されています。   一方で、$this->Form->inputで出力する場合は、エラーメッセージは自動で出力してくれます。
基本的には$this->Form->inputを使うと楽です。

 

参考までに、エラーメッセージが表示されないコードは以下です。signup.phpの$this->Form->textを$this->Form->inputに変えたことで無事にエラーメッセージが出ました!!

英文の公式マニュアルを頑張って読み込んだのにこのことは触れていなかった@_@

 

signup.php

 

Userscontroller.php

 

UsersTable.php

SNS SHARE

LEAVE A REPLY