CakePHP2系のノリで
CakePHP3系ではここにはentityをセットしてやる必要がある。
ControllerからEntityを渡して
$this->Form->create('modelname'); $this->Form->input('field', ['type' => 'text']); $this->Form->end();という感じのフォームを作ったがバリデーションによるエラーが出なかったのでその原因と対策。
createの違い
結論からいうと$this->Form->create()の第一引数にモデル名を渡していたのが原因。CakePHP3系ではここにはentityをセットしてやる必要がある。
ControllerからEntityを渡して
$this->Form->create($entity); $this->Form->input('field', ['type' => 'text']); $this->Form->end();これで解決。
コメント