This commit is contained in:
2021-07-07 18:36:20 +08:00
parent 565943b76f
commit 7eccee5d16
5 changed files with 58 additions and 20 deletions
+1 -1
View File
@@ -46,7 +46,7 @@ abstract class BaseValidator
* BaseValidator constructor.
* @param array $config
*/
public function __construct($config = [])
public function __construct(array $config = [])
{
$this->regConfig($config);
}
+5 -8
View File
@@ -37,14 +37,11 @@ class LengthValidator extends BaseValidator
if (is_null($value)) {
return $this->addError('The param :attribute is null');
}
switch (strtolower($this->method)) {
case self::MAX_LENGTH:
return $this->maxLength($value);
case self::MIN_LENGTH:
return $this->minLength($value);
default:
return $this->defaultLength($value);
}
return match (strtolower($this->method)) {
self::MAX_LENGTH => $this->maxLength($value),
self::MIN_LENGTH => $this->minLength($value),
default => $this->defaultLength($value),
};
}
/**
+34
View File
@@ -0,0 +1,34 @@
<?php
namespace validator;
use Exception;
/**
* Class RoundValidator
* @package validator
*/
class RoundValidator extends BaseValidator
{
public ?int $value = null;
/**
* @return bool
* @throws Exception
*/
public function trigger(): bool
{
$value = $this->model->getAttribute($this->field);
if ($value == null || round($value, $this->value) != $value) {
return $this->addError('The param :attribute length error');
}
return true;
}
}
+3
View File
@@ -102,6 +102,9 @@ class Validator extends BaseValidator
'class' => 'validator\LengthValidator',
'method' => 'default',
],
'round' => [
'class' => 'validator\RoundValidator',
],
];
/**