Ensuring array values are strings for sprintf

This commit is contained in:
Vance Lucas 2013-03-05 14:00:13 -06:00
parent 6169b04cc5
commit 36f4e8d3b1

View File

@ -450,7 +450,18 @@ class Validator
*/
public function error($field, $msg, array $params = array())
{
$this->_errors[$field][] = vsprintf($msg, $params);
$values = array();
// Printed values need to be in string format
foreach($params as $param) {
if(is_array($param)) {
$param = "['" . implode("', '", $param) . "']";
}
if($param instanceof \DateTime) {
$param = $param->format('Y-m-d');
}
$values[] = $param;
}
$this->_errors[$field][] = vsprintf($msg, $values);
}
/**