DB_DataObject::validate not calling my column specific validate method.
| From: | Mike Zornek | Date: | Fri, 07 May 2004 16:30:34 +0000 |
| Subject: | DB_DataObject::validate not calling my column specific validate method. | ||
| Groups: | php.pear.general | ||
| Request: | Send a blank email to pear-general+get-12352@lists.php.net to get a copy of this message | ||
In my DataObject/Member.php class I have defined a method:
function validateMember_id() {
echo "<!-- validateMember_id() was called -->";
return Validate::number($this->getMember_id(), array("min" => "1",
"max" => "65535"));
}
Using my testing framework it seems to be working:
function setUp() {
$this->member = new DataObjects_Member();
}
function tearDown() {
unset($member);
$this->member = NULL;
}
...
function testValidId() {
$this->member->setMember_id(5);
$result = $this->member->validateMember_id();
$expected = TRUE;
$this->assertEqual($result, $expected);
}
function testValidId2() {
$this->member->setMember_id(99999);
$result = $this->member->validateMember_id();
$expected = FALSE;
$this->assertEqual($result, $expected);
}
However, when I try to test to see if the main validate() method is working,
it returns true, when I'm expecting it to return an array with the
validating errors as see on here:
<http://pear.php.net/manual/en/package.database.db-dataobject.db-dataobject.
validate.php>
The failing test:
function testValidId3() {
$this->member->setMember_id(99999);
$validate_result = $this->member->validate();
if ($validate_result == TRUE) {
$this->assertTrue(FALSE);
} else {
echo "<--! Invalid array returned:\n";
print_r($validate_result);
echo "\n-->\n ";
$this->assertTrue(TRUE);
}
}
Using the echo in validateMember_id() it seems that the main
Member::validate() is calling my validateMember_id() method .. But I'm
clueless as to why it's still returning TRUE. Maybe a bug?
Is anyone else using validate() with custom methods on DB_DataObject
suclasses with any success?
~ Mike
-----
Mike Zornek
Web Designer, Media Developer, Programmer and Geek
Personal site: <http://MikeZornek.com>
New Project: <http://WebDevWiki.com>