fix: noverify + типы для правил провеки
This commit is contained in:
parent
9680409ba9
commit
90cbd3b2b6
10 changed files with 319 additions and 300 deletions
|
|
@ -12,24 +12,29 @@ use Exception,
|
|||
|
||||
class Validator
|
||||
{
|
||||
protected $chain = array(); // Массив правил
|
||||
protected $errorMsg = array(); // Массив ошибок
|
||||
protected $type = array(
|
||||
'date' => 'ctiso\\Validator\\Rule\\Date',
|
||||
'email' => 'ctiso\\Validator\\Rule\\Email',
|
||||
'emaillist'=> 'ctiso\\Validator\\Rule\\EmailList',
|
||||
'match' => 'ctiso\\Validator\\Rule\\MatchRule',
|
||||
'time' => 'ctiso\\Validator\\Rule\\Time',
|
||||
'alpha' => 'ctiso\\Validator\\Rule\\Alpha',
|
||||
'require' => 'ctiso\\Validator\\Rule\\Notnull',
|
||||
'numeric' => 'ctiso\\Validator\\Rule\\Numeric',
|
||||
'unique' => 'ctiso\\Validator\\Rule\\Unique',
|
||||
'filename' => 'ctiso\\Validator\\Rule\\FileName',
|
||||
'count' => 'ctiso\\Validator\\Rule\\Count',
|
||||
'isfile' => 'ctiso\\Validator\\Rule\\IsFile',
|
||||
'code' => 'ctiso\\Validator\\Rule\\Code',
|
||||
'reg' => 'ctiso\\Validator\\Rule\\PregMatch',
|
||||
);
|
||||
protected $chain = []; // Массив правил
|
||||
protected $errorMsg = []; // Массив ошибок
|
||||
|
||||
/**
|
||||
* Поля по умолчанию
|
||||
* @var array<string, class-string<Rule\AbstractRule>>
|
||||
*/
|
||||
protected $type = [
|
||||
'date' => Rule\Date::class,
|
||||
'email' => Rule\Email::class,
|
||||
'emaillist'=> Rule\EmailList::class,
|
||||
'match' => Rule\MatchRule::class,
|
||||
'time' => Rule\Time::class,
|
||||
'alpha' => Rule\Alpha::class,
|
||||
'require' => Rule\Notnull::class,
|
||||
'numeric' => Rule\Numeric::class,
|
||||
'unique' => Rule\Unique::class,
|
||||
'filename' => Rule\FileName::class,
|
||||
'count' => Rule\Count::class,
|
||||
'isfile' => Rule\IsFile::class,
|
||||
'code' => Rule\Code::class,
|
||||
'reg' => Rule\PregMatch::class,
|
||||
];
|
||||
|
||||
function __construct($rules = []) {
|
||||
$this->addRuleList($rules);
|
||||
|
|
@ -98,13 +103,17 @@ class Validator
|
|||
return false;
|
||||
}
|
||||
|
||||
function reset() {
|
||||
$this->errorMsg = [];
|
||||
}
|
||||
|
||||
public function validate(Collection $container, $rule = null, $status = null)
|
||||
{
|
||||
$fields = [];
|
||||
if ($rule) {
|
||||
$this->chain = $rule;
|
||||
}
|
||||
$this->errorMsg = [];
|
||||
// $this->errorMsg = [];
|
||||
foreach ($this->chain as $rule) {
|
||||
//echo $key;
|
||||
if (!in_array($rule->field, $fields) && !$this->skip($rule, $container) && !$rule->isValid($container, $status)) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue