Cakephp2.2のバリデーション。

いつも忘れるので書式をメモ。

public $validate = array(
  'title' => array(
    array(
      'rule' => 'notEmpty',
      'message' => '*[title]必須項目です。',
    ),
    array(
      'rule' => array('maxLength', '80'),
      'message' => '*[title]80文字以内で入力してください。',
    ),
  ),
  'body'=>array(
    array(
      'rule' => 'notEmpty',
      'message' => '*[body]必須項目です。',
    ),
    array(
      'rule' => array('maxLength', '20000'),
      'message' => '*[body]20000文字以内で入力してください。',
    ),
  ),
);

あとはコントローラーからモデルにset()してvalidates()。
エラーメッセージは$this->Model->validationErrorsに全部ぶち込んであるので便利。