定義済み検証ルール
検証ルール
- alphaNumeric(日本語が通ってしまう)
- between
- blank
- cc(クレジットカード番号)
- comparison
- date
- decimal
- email(メールアドレス)
- ip(IPアドレス)
- minLength
- maxLength(最大文字数/stelen()で検査するため日本語などの2バイト以上は正しく処理されない)
- numeric
- notEmpty(空欄かどうか)
- phone
- postal
- ssn(社会保障番号)
- url
- custom(正規表現)
上記ようalphaNumericのように定義済み検証ルールが期待通り動かないものもあります。
そのような時には次のような対応策が考えられます。
- 検証ルールの'custom'を指定して正規表現で検証を行う
- モデル内に独自の検証用メソッドを作成する(AppModel.phpに記述するとどのモデルからも使えて便利です)
- 独自の検証ルール名で検証用メソッドを作成する
- 既存のルール名で独自の検証用メソッドを作成する
その他の検証ルール
- 正規表現
- コールバック関数名
- userDefined
- isUnique(重複チェック/更新時は更新対象レコードを除いて重複をチェックします/Modelクラスに実装されています)