[CakePHP] CakePHP のバリデーションの注意点

どうやら、配列のキーが存在しない場合、バリデーションはスルーしてしまうみたい。
http://www.1x1.jp/blog/2007/04/cakephp_model_validates.html
これはCakePHPの仕様だと思うのだが、マニュアルには書いてなかったので、ちょっと焦った。
簡単な対処法は、キーが存在しなければ追加してやること。

<?php
if (!isset($data['User']['address'])) {
$data['User']['address'] = null;
}

これで、チェックされるようになった。
追記(2/14)
こんな表記が…。
http://book.cakephp.org/ja/complete/125/%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AE%E3%83%90%E3%83%AA%E3%83%87%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3-Data-Validation#required-129

もし「required」がtrueであれば、このフィールドはデータの配列中に存在しなければなりません。
(中略)・・・もし無ければ、バリデーションは失敗します。このキーのデフォルトはfalseです。

ありゃりゃ。required は明示的に true にしないといけない。そういうこと??