2010-06-24 09:40:05 +01:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace Symfony\Components\Validator;
|
|
|
|
|
|
|
|
class ConstraintViolationList implements \IteratorAggregate, \Countable
|
|
|
|
{
|
2010-06-24 10:24:08 +01:00
|
|
|
protected $violations = array();
|
2010-06-24 09:40:05 +01:00
|
|
|
|
2010-06-24 10:24:08 +01:00
|
|
|
public function __toString()
|
2010-06-24 09:40:05 +01:00
|
|
|
{
|
2010-06-24 10:24:08 +01:00
|
|
|
$string = '';
|
|
|
|
|
|
|
|
foreach ($this->violations as $violation) {
|
|
|
|
$param = $violation->getMessageParameters();
|
|
|
|
$message = str_replace(array_keys($param), $param, $violation->getMessageTemplate());
|
|
|
|
$string .= <<<EOF
|
2010-06-24 09:40:05 +01:00
|
|
|
{$violation->getRoot()}.{$violation->getPropertyPath()}:
|
2010-06-24 10:24:08 +01:00
|
|
|
$message
|
2010-06-24 09:40:05 +01:00
|
|
|
|
|
|
|
EOF;
|
2010-06-24 10:24:08 +01:00
|
|
|
}
|
2010-06-24 09:40:05 +01:00
|
|
|
|
2010-06-24 10:24:08 +01:00
|
|
|
return $string;
|
|
|
|
}
|
2010-06-24 09:40:05 +01:00
|
|
|
|
2010-06-24 10:24:08 +01:00
|
|
|
public function add(ConstraintViolation $violation)
|
|
|
|
{
|
|
|
|
$this->violations[] = $violation;
|
|
|
|
}
|
2010-06-24 09:40:05 +01:00
|
|
|
|
2010-06-24 10:24:08 +01:00
|
|
|
public function addAll(ConstraintViolationList $violations)
|
2010-06-24 09:40:05 +01:00
|
|
|
{
|
2010-06-24 10:24:08 +01:00
|
|
|
foreach ($violations->violations as $violation) {
|
|
|
|
$this->violations[] = $violation;
|
|
|
|
}
|
2010-06-24 09:40:05 +01:00
|
|
|
}
|
|
|
|
|
2010-06-24 10:24:08 +01:00
|
|
|
public function getIterator()
|
|
|
|
{
|
|
|
|
return new \ArrayIterator($this->violations);
|
|
|
|
}
|
2010-06-24 09:40:05 +01:00
|
|
|
|
2010-06-24 10:24:08 +01:00
|
|
|
public function count()
|
|
|
|
{
|
|
|
|
return count($this->violations);
|
|
|
|
}
|
2010-06-24 09:40:05 +01:00
|
|
|
}
|