Skip to content
Permalink
Browse files

Fixed some validation tests

  • Loading branch information...
lorenzo committed Apr 29, 2012
1 parent 30761f9 commit 8700f3c7a229b7836a18e2ddc98a97ad06b674ef
@@ -311,13 +311,12 @@ protected function _parseRules() {
return false;
}
if (!empty($this->_validate) && $this->_validate === $this->_model->validate) {
if ($this->_validate === $this->_model->validate) {
return true;
}
$this->_validate = $this->_model->validate;
$this->_processWhitelist();
$this->_fields = array();
$methods = $this->getMethods();
foreach ($this->_validate as $fieldName => $ruleSet) {
@@ -171,12 +171,13 @@ public function isRequired() {
* @return boolean
*/
public function checkRequired(&$data) {
$required = !isset($data[$this->_field]) && $this->required === true;
$required = $required || (
isset($this->data[$this->_field]) && (empty($data[$this->_field]) &&
!is_numeric($data[$this->_field])) && $this->allowEmpty === false
return (
(!isset($data[$this->_field]) && $this->required === true) ||
(
isset($data[$this->_field]) && (empty($data[$this->_field]) &&
!is_numeric($data[$this->_field])) && $this->allowEmpty === false
)
);
return $required;
}
/**
@@ -346,8 +346,6 @@ public function testValidates() {
$this->assertEquals($data, $result);
$result = $TestModel->validates();
$this->assertTrue($result);
$result = $Validator->validates();
$this->assertTrue($result);
$data = array('TestValidate' => array(
'user_id' => '1',
@@ -517,8 +515,6 @@ public function testValidates() {
'title' => array('tooShort')
);
$this->assertEquals($expected, $result);
$result = $Validator->validates();
$this->assertFalse($result);
$TestModel->validate = array(
'title' => array(
@@ -540,8 +536,6 @@ public function testValidates() {
'title' => array('tooShort', 'onlyLetters')
);
$this->assertEquals($expected, $result);
$result = $Validator->validates();
$this->assertFalse($result);
$result = $TestModel->validationErrors;
$this->assertEquals($expected, $result);
}

0 comments on commit 8700f3c

Please sign in to comment.
You can’t perform that action at this time.