まず、モデルに追記します。
/app/models/sample.php
<?php
class Sample extends AppModel {
var $validate = array(
'title' => VALID_NOT_EMPTY
);
}
?>
必須のチェック:VALID_NOT_EMPTY
数字のチェック:VALID_NUMBER
メールアドレスのチェック:VALID_EMAIL
年のチェック:VALID_YEAR
ビューの表示部分に下記内容を追加します。
app/views/samples/add.thtml
app/views/samples/edit.thtml
<?php echo $html->tagErrorMsg('Sample/title', 'タイトルは必須です。') ?>
上記以外の入力チェックをしたい場合は、モデルを下記のように変更します。
/app/models/sample.php
<?php
class Sample extends AppModel {
var $validate = array(
'title' => VALID_NOT_EMPTY
);
function validates($data = array()){
if (empty($data)) {
$data = $this->data;
}
if(!parent::validates($data)){
return false;
}
//独自のチェックはここから
if(mb_strlen($data["Sample"]["title"])>10){
$this->invalidate('title_moji');
return false;
}
return true;
}
}
?>
ビューの表示部分も下記内容を追加します。
app/views/samples/add.thtml
app/views/samples/edit.thtml
<?php echo $html->tagErrorMsg('Sample/title_moji', 'タイトルは10文字以内で入力してください。') ?>
参考サイト:CakePHP - validate | Shin x blog
1.2系ではもっと簡単に独自チェックをできるようになるらしいです。
ビュー, モデル
