public function validationDefault(Validator $validator){
$validator
->integer('id')
->allowEmpty('id', 'create');
$validator
->scalar("name")
->requirePresence("name", "create")
->notEmpty("name");
$validator
->scalar("mail")
->allowEmpty("mail")
->email("mail");
$validator
->integer("age")
->requirePresence("age", "create")
->notEmpty("age");
return $validator;
}
### エラーメッセージを個別に表示
<p><?=$msg ?></p>
<?=$this->Form->create($entity,
['type'=>'post',
'url'=>['controller'=>'People',
'action'=>'add']]) ?>
<fieldset class="form">
NAME: <?=$this->Form->error('People.name') ?>
<?=$this->Form->text('People.name') ?>
MAIL: <?=$this->Form->error('People.mail') ?>
<?=$this->Form->text('People.mail') ?>
AGE: <?=$this->Form->error('People.age') ?>
<?=$this->Form->text('People.age') ?>
<?=$this->Form->submit('送信') ?>
</fieldset>
<?=$this->Form->end() ?>
### 日本語のバリデーション
public function validationDefault(Validator $validator){
$validator
->integer('id', "idは整数で入力下さい。")
->allowEmpty('id', 'create');
$validator
->scalar("name", "テキストを入力下さい。")
->requirePresence("name", "create")
->notEmpty("name", "名前は必ず記入してください。");
$validator
->scalar("mail", "テキストを入力下さい。")
->allowEmpty("mail")
->email("mail", false, "メールアドレスを記入してください。");
$validator
->integer("age")
->requirePresence("age", "create")
->notEmpty("age", "必ず値を入力下さい。")
->greaterThan('age', -1, "ゼロ以上の値を記入ください。");
return $validator;
}

### バリデーションメソッド
必須項目: requirePresence, notBlank, notEmpty
空白許可: allowEmpty
ASCII: ascii
数字のみ: numeric, integer, naturalNumber, nonNegativeInteger, decimal
文字と数字のみ: alphaNumeric
真偽値のみ許可: boolean
配列のみ: isArray
半角英数字: containsNonAlphaNumeric
等式: equals, notEquals
比較式: lessThan, lessThanOrEquals, greaterThan, greaterThanOrEquals
指定した範囲: range
半角数字が含まれているか: constrainsNonAlphaNumeric
等式: equal, notEquals
比較式: lessThan, lessThanOrEquals, greaterThan, greaterThanOrEquals
文字数: minLength, maxLength, lengthBetween
日時の入力: date, time, dateTime
配列に含まれるか: inList
2つの項目が同じか: sameAs
項目が含まれるか: hasField
メールアドレス: email
クレジットカード番号: creditCard
URLチェック: url
ipアドレス: ip, ipv4, ipv6
uuid: uuid
なるほど、バリデーションは主にmodelのテーブルで行うのか。controllerではないのね。