public errors ( array | string $field = null, string $value = null ) : mixed | ||
$field | array | string | If an array, overwrites `$this->_errors` if it is empty, if not, merges the errors with the current values. If a string, and `$value` is not `null`, sets the corresponding key in `$this->_errors` to `$value`. Setting `$field` to `false` will reset the current state. |
$value | string | Value to set. |
return | mixed | Either the `$this->_errors` array, or single value from it. |
public function errors($field = null, $value = null)
{
if ($field === false) {
return $this->_errors = array();
}
if ($field === null) {
return $this->_errors;
}
if (is_array($field)) {
return $this->_errors = array_merge_recursive($this->_errors, $field);
}
if ($value === null && isset($this->_errors[$field])) {
return $this->_errors[$field];
}
if ($value !== null) {
if (array_key_exists($field, $this->_errors)) {
$current = $this->_errors[$field];
return $this->_errors[$field] = array_merge((array) $current, (array) $value);
}
return $this->_errors[$field] = $value;
}
return $value;
}
public function testErrors() { $entity = new Entity(); $errors = array('foo' => 'Something bad happened.'); $this->assertEqual(array(), $entity->errors()); $entity->errors($errors); $this->assertEqual($errors, $entity->errors()); $this->assertEqual('Something bad happened.', $entity->errors('foo')); }