respect-validation/library/Respect/Validation/Exceptions/AbstractGroupedException.php

47 lines
1.4 KiB
PHP
Raw Normal View History

<?php
namespace Respect\Validation\Exceptions;
class AbstractGroupedException extends AbstractNestedException
{
const NONE = 0;
const SOME = 1;
public static $defaultTemplates = array(
self::MODE_DEFAULT => array(
self::NONE => 'All of the required rules must pass for {{name}}',
self::SOME => 'These rules must pass for {{name}}',
),
self::MODE_NEGATIVE => array(
self::NONE => 'None of there rules must pass for {{name}}',
self::SOME => 'These rules must not pass for {{name}}',
)
);
public function chooseTemplate()
{
$numRules = $this->getParam('passed');
$numFailed = count($this->getRelated());
return $numRules === $numFailed ? static::NONE : static::SOME;
}
public function getParams()
{
if (1 === count($this->related))
return current($this->related)->getParams();
else
return parent::getParams();
}
public function getTemplate()
{
$parentTemplate = parent::getTemplate();
2012-03-23 02:12:07 +01:00
$isEmpty = empty($this->template);
if (!$isEmpty && $this->template != $parentTemplate)
return $this->template;
2012-03-23 02:12:07 +01:00
if ($isEmpty && 1 === count($this->related))
return current($this->related)->getTemplate();
else
return $parentTemplate;
}
2012-03-23 03:53:06 +01:00
}