->validate() -- オブジェクトデータをチェックし、
オブジェクトの検証メソッドをコールする
説明
全てのオブジェクト変数が有効かどうかをチェックします。
デフォルトではカラムが整数値か文字列かをチェックします。
継承したクラスで validateEmail()
のようなメソッドを定義する場合、'email'
と呼ばれる行を検証するためにそのメソッドがコールされるでしょう。
更新や挿入などの前にコールしエラーメッセージを生成する場合に
役に立つでしょう。
独自の検証ルールを設定するためには
このメソッドをオーバーライドしてください。
返り値
array - 検証結果あるいは TRUE
注意
この関数は、スタティックにコールする
ことはできません。
以下の例は、PEARの検証パッケージを使用しています。
例
例 39-1 検証手順 $person = new DataObjects_Person;
$person->get(12);
$person->setFrom($_POST['input']);
$val = $person->validate();
if ($val === TRUE) {
$person->update();
} else {
foreach ($val as $k=>$v) {
if ($v == false) {
echo "There was something wrong with ($k)\n";
} else {
echo "($k) validated OK\n";
}
}
} |
|
例 39-2バリデートメソッド /* inside class DataObject_Person */
function validateEmail() {
return Validate::email($this->email, true);
}
function validateHomepage() {
return Validate::url($this->homepage, true);
}
function validateDate() {
return Validate::date($this->date, "%d-%m-%Y", array(01,01,1970), array(01,01,2030)); |
|