[CakePHP]手動でフォームのバリデーションチェックにかける
最近cakephpを触るようになりました。ようやく。
で、コントローラーから明示的にバリデーションにかける方法を調べたのでメモ。
まず準備として、Model
にルールを記述します。
今回はUser
というモデル内に記述したとします。
1 2 3 4 5 6 |
|
で、次にView
で入力欄を作成します。
作成の際に、先程作ったルールのpassword
をtype
として指定してやります。
<?php echo $this->Form->input('User.password', array('type' => 'password', 'value' => '','label' => false)); ?>
HTMLは以下のように表示されます。
<input name="data[User][password]" value="" type="password" id="UserPassword" required="required">
最後にController
からバリデーションにデータを送信します。
記述する箇所は、フォームを送信した後に実行されるアクション内です。
1 2 3 4 |
|
これで8文字以下で送信するとエラーが表示されます。
参考
http://book.cakephp.org/2.0/ja/models/data-validation/validating-data-from-the-controller.html