Index: branches/5.0.x/core/kernel/utility/formatters/date_formatter.php =================================================================== diff -u -r12734 -r13257 --- branches/5.0.x/core/kernel/utility/formatters/date_formatter.php (.../date_formatter.php) (revision 12734) +++ branches/5.0.x/core/kernel/utility/formatters/date_formatter.php (.../date_formatter.php) (revision 13257) @@ -1,6 +1,6 @@ Fields[$field_name]['error_field']) ? $this->Fields[$field_name]['error_field'] : $field_name; - $object->FieldErrors[$error_field]['params'] = Array( $this->HumanFormat($format), adodb_date($format) ); - $object->FieldErrors[$error_field]['value'] = $value; + $error_params = Array( $this->HumanFormat($format), adodb_date($format), 'value' => $value ); $hour = 0; $minute = 0; @@ -335,7 +333,7 @@ $holders_mask = '/' . preg_replace('/[a-zA-Z]{1}/i', '([a-zA-Z]{1})', preg_quote($format, '/')) . '/'; if (!preg_match($holders_mask, $format, $holders)) { - $object->SetError($field_name, 'bad_date_format'); + $object->SetError($field_name, 'bad_date_format', null, $error_params); return $value; } @@ -345,7 +343,7 @@ } if (!preg_match($values_mask, $value, $values)) { - $object->SetError($field_name, 'bad_date_format'); + $object->SetError($field_name, 'bad_date_format', null, $error_params); return $value; } @@ -399,35 +397,35 @@ //echo "day: $day, month: $month, year: $year, hour: $hour, minute: $minute
"; /*if (!($year >= 1970 && $year <= 2037)) { - $object->SetError($field_name, 'bad_date_format'); + $object->SetError($field_name, 'bad_date_format', null, $error_params); return $value; }*/ if (!($month >= 1 && $month <= 12)) { - $object->SetError($field_name, 'bad_date_format'); + $object->SetError($field_name, 'bad_date_format', null, $error_params); return $value; } $months_days = Array ( 1 => 31,2 => 28, 3 => 31, 4 => 30,5 => 31,6 => 30, 7 => 31, 8 => 31,9 => 30,10 => 31,11 => 30,12 => 31); if ($year % 4 == 0) $months_days[2] = 29; if (!($day >=1 && $day <= $months_days[$month])) { - $object->SetError($field_name, 'bad_date_format'); + $object->SetError($field_name, 'bad_date_format', null, $error_params); return $value; } if (!($hour >=0 && $hour <= 23)) { - $object->SetError($field_name, 'bad_date_format'); + $object->SetError($field_name, 'bad_date_format', null, $error_params); return $value; } if (!($minute >=0 && $minute <= 59)) { - $object->SetError($field_name, 'bad_date_format'); + $object->SetError($field_name, 'bad_date_format', null, $error_params); return $value; } if (!($second >=0 && $second <= 59)) { - $object->SetError($field_name, 'bad_date_format'); + $object->SetError($field_name, 'bad_date_format', null, $error_params); return $value; } Index: branches/5.0.x/core/kernel/db/dbitem.php =================================================================== diff -u -r12792 -r13257 --- branches/5.0.x/core/kernel/db/dbitem.php (.../dbitem.php) (revision 12792) +++ branches/5.0.x/core/kernel/db/dbitem.php (.../dbitem.php) (revision 13257) @@ -1,6 +1,6 @@ FieldErrors[$error_field]['pseudo'] = $pseudo; if (isset($error_params)) { + if (array_key_exists('value', $error_params)) { + $this->FieldErrors[$error_field]['value'] = $error_params['value']; + unset($error_params['value']); + } + // additional params, that helps to determine error sources $this->FieldErrors[$error_field]['params'] = $error_params; }