|
|
@@ -894,33 +894,37 @@ class Zend_Filter_Input
|
|
|
$this->_invalidErrors[$validatorRule[self::RULE]] = $validatorRule[self::VALIDATOR_CHAIN]->getErrors();
|
|
|
return;
|
|
|
}
|
|
|
- } else {
|
|
|
+ } else if (count($data) > 0) {
|
|
|
+ // $data is actually a one element array
|
|
|
+ $fieldNames = array_keys($data);
|
|
|
+ $fieldName = reset($fieldNames);
|
|
|
+ $field = reset($data);
|
|
|
+
|
|
|
+
|
|
|
$failed = false;
|
|
|
- foreach ($data as $fieldKey => $field) {
|
|
|
- if (!is_array($field)) {
|
|
|
- $field = array($field);
|
|
|
- }
|
|
|
- foreach ($field as $value) {
|
|
|
- if (empty($value)) {
|
|
|
- if ($validatorRule[self::ALLOW_EMPTY] == true) {
|
|
|
- continue;
|
|
|
- }
|
|
|
- if ($validatorRule[self::VALIDATOR_CHAIN_COUNT] == 0) {
|
|
|
- $notEmptyValidator = $this->_getValidator('NotEmpty');
|
|
|
- $notEmptyValidator->setMessage($this->_getNotEmptyMessage($validatorRule[self::RULE], $fieldKey));
|
|
|
- $validatorRule[self::VALIDATOR_CHAIN]->addValidator($notEmptyValidator);
|
|
|
- }
|
|
|
+ if (!is_array($field)) {
|
|
|
+ $field = array($field);
|
|
|
+ }
|
|
|
+ foreach ($field as $value) {
|
|
|
+ if (empty($value)) {
|
|
|
+ if ($validatorRule[self::ALLOW_EMPTY] == true) {
|
|
|
+ continue;
|
|
|
}
|
|
|
- if (!$validatorRule[self::VALIDATOR_CHAIN]->isValid($value)) {
|
|
|
- $this->_invalidMessages[$validatorRule[self::RULE]] =
|
|
|
- $validatorRule[self::VALIDATOR_CHAIN]->getMessages();
|
|
|
- $this->_invalidErrors[$validatorRule[self::RULE]] =
|
|
|
- $validatorRule[self::VALIDATOR_CHAIN]->getErrors();
|
|
|
- unset($this->_validFields[$fieldKey]);
|
|
|
- $failed = true;
|
|
|
- if ($validatorRule[self::BREAK_CHAIN]) {
|
|
|
- return;
|
|
|
- }
|
|
|
+ if ($validatorRule[self::VALIDATOR_CHAIN_COUNT] == 0) {
|
|
|
+ $notEmptyValidator = $this->_getValidator('NotEmpty');
|
|
|
+ $notEmptyValidator->setMessage($this->_getNotEmptyMessage($validatorRule[self::RULE], $fieldName));
|
|
|
+ $validatorRule[self::VALIDATOR_CHAIN]->addValidator($notEmptyValidator);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (!$validatorRule[self::VALIDATOR_CHAIN]->isValid($value)) {
|
|
|
+ $this->_invalidMessages[$validatorRule[self::RULE]] =
|
|
|
+ $validatorRule[self::VALIDATOR_CHAIN]->getMessages();
|
|
|
+ $this->_invalidErrors[$validatorRule[self::RULE]] =
|
|
|
+ $validatorRule[self::VALIDATOR_CHAIN]->getErrors();
|
|
|
+ unset($this->_validFields[$fieldName]);
|
|
|
+ $failed = true;
|
|
|
+ if ($validatorRule[self::BREAK_CHAIN]) {
|
|
|
+ return;
|
|
|
}
|
|
|
}
|
|
|
}
|