From 36f4e8d3b132286aabc3df9092fbaec3cfb73cc3 Mon Sep 17 00:00:00 2001 From: Vance Lucas Date: Tue, 5 Mar 2013 14:00:13 -0600 Subject: [PATCH] Ensuring array values are strings for sprintf --- src/Valitron/Validator.php | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/Valitron/Validator.php b/src/Valitron/Validator.php index fefdafc..c90fe5a 100644 --- a/src/Valitron/Validator.php +++ b/src/Valitron/Validator.php @@ -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); } /**