Notice (8): Undefined index: HTTP_ACCEPT_LANGUAGE [APP/Controller/AppController.php, line 114]
cakePHPのValidationまとめ :: Share Books

cakePHPのValidationまとめ

1914 View :: 2013-01-07 23:42:12

バリデーション :: Validation

バリデーションの設定はModel内の$validate配列を定義する。
バリデートのチェックはsave()の実行時に自動的に行われる。

単純なバリデーション

フールド名 => ルール名の連想配列でOK
var $validate = array(
'login' => 'alphaNumeric',
'email' => 'email',
'born' => 'date'
);

複数のバリデーション

1つの項目に対して複数のバリエーションルールを適用する場合は
フールド名 => array(
'rule' => 'ルール',
'message' => 'エラー時に表示するメッセージ'
)

バリデーションルール一覧

notEmpty:空でないか
alphaNumeric:半角のアルファベットか数字のみ許可
between:データの長さが指定された範囲内かどうか。最小値と最大値は必須。「<」ではなく「<=」を使用。日本語は1文字=2とカウント
blank:データが空かホワイトスペースのみで構成されているかどうか。半角スペースとタブ、復帰文字(carriage return)および改行文字(newline)を含む
cc:クレジットカードの番号として適切かどうか。array('cc', タイプ, 真偽値, 正規表現)
comparison:数字の比較。「is greater (~より大きい)」「is less (~より小さい)」「greater or equal (~以上)」「less or equal (~以下)」「equal to (~と等しい)」「not equal (~と等しくない)」
custom:独自のバリデーションルールを正規表現で設定する
date:日付として適切かどうか
time:
boolean:
decimal:小数かどうか
email:Eメールアドレスとして適切かどうか
equalTo:データと第一引数が、値と型の両方で同じかどうか
extension:指定したファイル名の拡張子が指定したものにマッチするか。拡張子は配列で指定可能。
file:保留
ip:IPv4形式かどうか
minLength:データの長さが指定値より小さくないか
maxLength:データの長さが指定値より大きくないか
money:値が金額として適当か。
multiple:複数選択する入力のバリデーションに使用します。パラメータとして「in」「max」そして「min」をサポートします。
numeric:数字もしくは数値形式かどうか
phone:アメリカの電話番号の形式であるか
postal:郵便番号かどうか。対応している国は、アメリカ(us)、カナダ(ca)、イギリス(uk)、イタリア(it)、ドイツ(de)、ベルギー(be)
range:指定した範囲にデータがおさまるかどうか(データ長ではなく数値として)
ssn:社会保障番号であるかどうか。対応している国は、アメリカ(us)、デンマーク(dk)、オランダ(dk)
url:正しいURLの形式であるかどうか。http(s)、ftp(s)、file、news、gopher のプロトコルに対応
inList:データが指定されたリストに含まれているかどうか
userDefined:
isUnique:与えられた値が他の行で出現せず、ユニークであるかどうか

参考:
http://wiki.livedoor.jp/tech5963/d/Validation(%A5%D0%A5%EA%A5%C7%A1%DD%A5%B7%A5%E7%A5%F3)

Written by かにももんが

このページのURL:

ShareBooksからのお知らせ
ログイン|使い方|ノートを書く
最近更新されたノート一覧|技術的情報 (For Developer)