chore: Типы
This commit is contained in:
parent
1b6630e5f5
commit
481f76add4
5 changed files with 25 additions and 11 deletions
|
|
@ -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
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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
|
||||
{
|
||||
|
|
|
|||
10
src/Validator/Rule/RuleContext.php
Normal file
10
src/Validator/Rule/RuleContext.php
Normal 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;
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue