phplibrary/src/Validator/Rule/Count.php

32 lines
807 B
PHP

<?php
/**
* Проверка формата даты
*/
class Validator_Rule_Count extends Validator_Rule_Abstract
{
public $size = 1;
public $max = false;
public function getErrorMsg()
{
return "Количество записей должно быть не менне {$this->size} и не более {$this->max}";
}
function not_empty($s) {
return $s != "";
}
public function isValid(Collection $container, $status = null)
{
if (!$this->max) {
$this->max = $this->size;
}
$count = count(array_filter(array_map('trim',
explode(";", $container->get($this->field))), array($this, 'not_empty')));
return $count >= $this->size && $count <= $this->max;
}
}