このエントリーをブックマークに追加 このエントリをlivedoorクリップに追加 Yahoo!ブックマークに登録

cakephp1.2のvalidationの組み込みルールまとめ

2008年12月11日木曜日 by mikuta

1.2になって、大分便利になってきたcakephpのvalidation。
組み込みルールがかなり増えていたので、まとめ。
(日本語環境で使えないようなものは切り捨ててあります)


必須項目(定番)

var $validate = array(
 'title' => array(
  'rule' => 'notEmpty',
  'message' => '必須項目です。'
 )
);



半角のアルファベットか数字のみ
var $validate = array(
 'username' => array(
  'rule' => array('alphaNumeric')
  'message' => '半角英数字でご記入下さい。'
 )
);



数字もしくは数値形式
var $validate = array(
 'age' => array(
  'rule' => 'numeric',
  'message' => '半角数字でご記入下さい。'
 )
);



URLであるか
var $validate = array(
 'website' => array(
  'rule' => 'url'
  'message' => 'URLをお確かめ下さい。'
 )
);



メールアドレス。引数に true を設定すると、メールサーバーのホストが存在するかどうかを確認する。
var $validate = array(
 'email' => array(
  'rule' => array('email', true),
  'message' => 'メールアドレスを正しく入力してください。'
 )
);



日付
var $validate = array(
 'born' => array(
  'rule' => 'date',
  'message' => '正しいデータを「YY-MM-DD」のフォーマットで入力してください。',
  'allowEmpty' => true
 )
);



文字の長さ。
var $validate = array(
 'login' => array(
  'rule' => array('minLength', '8'),
  'message' => 'ユーザ名は8文字以上にしてください。'
 )
);

var $validate = array(
 'login' => array(
  'rule' => array('maxLength', '15'),
  'message' => 'ユーザ名は15文字以下にしてください。'
 )
);



指定した範囲の長さでおさまっていること。最小値と最大値は必須
var $validate = array(
 'password' => array(
  'rule' => array('between', 5, 15),
  'message' => 'パスワードは5文字以上15文字以下にしてください。'
 )
);



範囲
var $validate = array(
 'number' => array(
  'rule' => array('range', 0, 10),
  'message' => '0より大きく10より小さい数を入力してください。'
 )
);



ユニークであるかどうか(超便利!!)
var $validate = array(
 'login' => array(
  'rule' => 'isUnique',
  'message' => 'このユーザ名はすでに使用されています。'
 )
);


数字の比較
var $validate = array(
 'age' => array(
  'rule' => array('comparison', '>=', 18),
  'message' => '18歳以上の方のみ対象です。'
 )
);
var $validate = array(
 'age' => array(
  'rule' => array('comparison', 'greater or equal', 18),
  'message' => '18歳以上の方のみ対象です。'
 )
);



IPv4
var $validate = array(
 'clientip' => array(
  'rule' => 'ip',
  'message' => 'IPアドレスを正しく入力してください。'
 )
);



小数。パラメータは、小数点以下の桁数。もしパラメータを何も与えなかったら、データが浮動小数点であってもバリデーションは成功。
var $validate = array(
 'price' => array(
  'rule' => array('decimal', 2)
 )
);



値と型の両方で確認
var $validate = array(
 'food' => array(
  'rule' => array('equalTo', 'cake'),
  'message' => 'この項目は文字列で「cake」としなければなりません。'
 )
);



ホワイトスペースのみ。ホワイトスペースは、半角スペースとタブ、復帰文字(\r)および改行文字(\n)を含む。
var $validate = array(
 'id' => array(
  'rule' => 'blank',
  'on' => 'create'
 )
);



指定したリストの中に含まれているか
var $validate = array(
 'function' => array(
  'allowedChoice' => array(
   'rule' => array('inList', array('Foo', 'Bar')),
   'message' => '「Foo」か「Bar」を入力してください。'
  )
 )
);

Filed under having  

0 コメント: