Yii

Yii フォーム入力データのバリデーション

フォーム入力されたデータのバリデーションは、ActiveRecord を継承したモデルクラスの rules() メソッドの定義で、プロパティごとに評価される。評価は、framework/validators ディレクトリにあるプログラムが実行されることで行なわれるが、自分で新しく作る必要がないほど量が豊富だ。

そのため、rules() メソッドを使うためのチートシートが用意されている。

Yii Framework 1.1 Validators Cheatsheet

バリデーションの書き方がよく分からない事もあるので、チュートリアル以外の使い方の例があれば、それを書き留めておきます。

日付入力が yyyy-mm-dd の形式で入力されているかチェックする

public function rules() {
	return array(
		:
		array('day', 'type', 'type'=>'date', 'dateFormat'=>'yyyy-MM-dd'),
	);
}

‘type’ は ‘date’ の他、’time’、’datetime’、’integer’ などがある。形式指定のキーは、’time’ なら ‘timeFormat’、’datetime’ なら ‘datetimeFormat’ で、’integer’ の場合は必要ない。形式に使う記号は、クラスリファレンスの CDateTimeParser に説明がある。

(100610 yii-1.1.2.r2086)