chore: Типы

This commit is contained in:
origami11@yandex.ru 2025-12-11 13:27:11 +03:00
parent 1b6630e5f5
commit 481f76add4
5 changed files with 25 additions and 11 deletions

View file

@ -1,13 +1,14 @@
<?php
namespace ctiso\Validator\Rule;
use ctiso\Collection;
abstract class AbstractRule
{
public string $field;
protected ?string $errorMsg;
/** @var object */
/** @var RuleContext */
protected $ctx;
public function __construct(string $field, ?string $errorMsg = null)
@ -48,7 +49,7 @@ abstract class AbstractRule
}
/**
* @param object $ctx
* @param RuleContext $ctx
*/
public function setContext($ctx): void
{

View file

@ -4,8 +4,9 @@
* Проверка на число
*/
namespace ctiso\Validator\Rule;
use ctiso\Validator\Rule\AbstractRule,
ctiso\Collection;
use ctiso\Validator\Rule\AbstractRule;
use ctiso\Collection;
class Alpha extends AbstractRule
{

View file

@ -0,0 +1,10 @@
<?php
namespace ctiso\Validator\Rule;
use ctiso\Collection;
use ctiso\HttpRequest;
interface RuleContext {
function getMessage(): string;
function isUnique(string $field, mixed $status, Collection $collection): bool;
}

View file

@ -3,8 +3,9 @@
/**
*/
namespace ctiso\Validator\Rule;
use ctiso\Validator\Rule\AbstractRule,
ctiso\Collection;
use ctiso\Validator\Rule\AbstractRule;
use ctiso\Collection;
class Unique extends AbstractRule
{
@ -15,7 +16,7 @@ class Unique extends AbstractRule
public function isValid(Collection $container, $status = null): bool
{
return $this->ctx->isUnique($container->get($this->field), $status, $container);
return $this->ctx->isUnique($container->getString($this->field), $status, $container);
}
}

View file

@ -4,15 +4,16 @@
* Проверка коллекции
*/
namespace ctiso\Validator;
use Exception,
ctiso\Validator\Rule\AbstractRule,
ctiso\Collection;
use Exception;
use ctiso\Validator\Rule\AbstractRule;
use ctiso\Validator\Rule\RuleContext;
use ctiso\Collection;
/**
* @phpstan-type Rule array{
* validate?:string, // Описание правила см. формат правила ниже
* name:string, // Имя переменой для проверки
* context?:object
* context?:RuleContext
* }
*/
class Validator