array $DB_DataObject->validate (
)
全てのオブジェクト変数が有効かどうかをチェックします。 デフォルトではカラムが整数値か文字列かをチェックします。 継承したクラスで validateEmail() のようなメソッドを定義する場合、'email' と呼ばれる行を検証するためにそのメソッドがコールされるでしょう。 更新や挿入などの前にコールしエラーメッセージを生成する場合に 役に立つでしょう。
独自の検証ルールを設定するためには このメソッドをオーバーライドしてください。
array
- 検証結果あるいは TRUE
This function can not be called statically.
以下の例は、PEARの検証パッケージを使用しています。
検証手順
<?php
$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";
}
}
}
?>
バリデートメソッド
<?php
/* 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));
?>