This commit is contained in:
2020-12-17 14:09:14 +08:00
parent 672a719dbd
commit 36c1d0502a
151 changed files with 1937 additions and 2848 deletions
+13 -9
View File
@@ -10,15 +10,19 @@ declare(strict_types=1);
namespace validator;
/**
* Class ArrayValidator
* @package validator
*/
class ArrayValidator extends BaseValidator
{
/**
* @return array|bool
* @return bool
*
* 检查
*/
public function trigger()
public function trigger(): bool
{
$param = $this->getParams();
if (empty($param) || !is_array($param)) {
@@ -30,16 +34,16 @@ class ArrayValidator extends BaseValidator
if (!is_array($param[$this->field])) {
return $this->addError("The param :attribute must a array");
}
return $this->toArray($param[$this->field]);
return true;
}
/**
* @param $data
* @return array
*
* 转成数组
*/
private function toArray($data)
private function toArray($data): array
{
if (is_numeric($data)) {
return [];
@@ -48,7 +52,7 @@ class ArrayValidator extends BaseValidator
} elseif (is_object($data)) {
$data = get_object_vars($data);
}
$_tmp = [];
foreach ($data as $key => $val) {
if (is_object($val)) {
@@ -59,8 +63,8 @@ class ArrayValidator extends BaseValidator
$_tmp[$key] = $val;
}
}
return $_tmp;
}
}
+26 -12
View File
@@ -5,6 +5,7 @@ namespace validator;
use Database\ActiveRecord;
use Exception;
abstract class BaseValidator
{
@@ -24,6 +25,10 @@ abstract class BaseValidator
/** @var ActiveRecord */
protected ActiveRecord $model;
/**
* @param $model
*/
public function setModel($model)
{
$this->model = $model;
@@ -32,16 +37,25 @@ abstract class BaseValidator
/**
* @return ActiveRecord
*/
public function getModel()
public function getModel(): ActiveRecord
{
return $this->model;
}
/**
* BaseValidator constructor.
* @param array $config
*/
public function __construct($config = [])
{
$this->regConfig($config);
}
/**
* @param $config
*/
private function regConfig($config)
{
if (empty($config) || !is_array($config)) {
@@ -53,27 +67,27 @@ abstract class BaseValidator
}
/**
* @throws \Exception
* @throws Exception
* @return bool
*/
public function trigger()
public function trigger(): bool
{
throw new \Exception('Child Class must define method of trigger');
throw new Exception('Child Class must define method of trigger');
}
/**
* @return mixed
* @return array
*/
protected function getParams()
protected function getParams(): array
{
return $this->params;
}
/**
* @param $data
* @param array $data
* @return $this
*/
public function setParams($data)
public function setParams(array $data): static
{
$this->params = $data;
return $this;
@@ -83,7 +97,7 @@ abstract class BaseValidator
* @param $message
* @return bool
*/
public function addError($message)
public function addError($message): bool
{
$this->isFail = FALSE;
@@ -97,7 +111,7 @@ abstract class BaseValidator
/**
* @return string
*/
public function getError()
public function getError(): string
{
return $this->message;
}
@@ -105,7 +119,7 @@ abstract class BaseValidator
/**
* @param $name
* @param $value
* @throws \Exception
* @throws Exception
*/
public function __set($name, $value)
{
@@ -115,7 +129,7 @@ abstract class BaseValidator
} else if (property_exists($this, $name)) {
$this->$name = $value;
} else {
throw new \Exception('unknown property ' . $name . ' in class ' . get_called_class());
throw new Exception('unknown property ' . $name . ' in class ' . get_called_class());
}
}
}
+5 -5
View File
@@ -23,7 +23,7 @@ class DateTimeValidator extends BaseValidator
/**
* @return bool
*/
public function trigger()
public function trigger(): bool
{
$param = $this->getParams();
if (empty($param) || !is_array($param)) {
@@ -53,7 +53,7 @@ class DateTimeValidator extends BaseValidator
*
* 效验分秒 格式如 01:02 or 01-02
*/
public function validatorTime($value)
public function validatorTime($value): bool
{
if (empty($value) || !is_string($value)) {
return $this->addError('The param :attribute not is a date value');
@@ -73,7 +73,7 @@ class DateTimeValidator extends BaseValidator
*
* 效验分秒 格式如 2017-12-22 01:02
*/
public function validateDatetime($value)
public function validateDatetime($value): bool
{
if (empty($value) || !is_string($value)) {
return $this->addError('The param :attribute not is a date value');
@@ -93,7 +93,7 @@ class DateTimeValidator extends BaseValidator
*
* 效验分秒 格式如 2017-12-22
*/
public function validatorDate($value)
public function validatorDate($value): bool
{
if (empty($value) || !is_string($value)) {
return $this->addError('The param :attribute not is a date value');
@@ -112,7 +112,7 @@ class DateTimeValidator extends BaseValidator
*
* 效验时间戳 格式如 1521452254
*/
public function validatorTimestamp($value)
public function validatorTimestamp($value): bool
{
if (empty($value) || !is_numeric($value)) {
return $this->addError('The param :attribute not is a timestamp value');
+1 -1
View File
@@ -17,7 +17,7 @@ class EmailValidator extends BaseValidator
* @return bool
* 检查是否存在
*/
public function trigger()
public function trigger(): bool
{
$param = $this->getParams();
if (empty($param) || !isset($param[$this->field])) {
+1 -1
View File
@@ -28,7 +28,7 @@ class EmptyValidator extends BaseValidator
*
* 检查参数是否为NULL
*/
public function trigger()
public function trigger(): bool
{
$param = $this->getParams();
if (empty($param) || !isset($param[$this->field])) {
+4 -2
View File
@@ -4,6 +4,8 @@ declare(strict_types=1);
namespace validator;
use JetBrains\PhpStorm\Pure;
/**
* Class EnumValidator
* @package validator
@@ -16,7 +18,7 @@ class EnumValidator extends BaseValidator
/**
* @return bool
*/
public function trigger()
public function trigger(): bool
{
$param = $this->getParams();
if (empty($param) || !isset($param[$this->field])) {
@@ -40,7 +42,7 @@ class EnumValidator extends BaseValidator
/**
* @return string
*/
private function i()
#[Pure] private function i(): string
{
return 'The param :attribute value only in ' . implode(',', $this->value);
}
+1 -1
View File
@@ -22,7 +22,7 @@ class IntegerValidator extends BaseValidator
/**
* @return bool
*/
public function trigger()
public function trigger(): bool
{
$param = $this->getParams();
if (empty($param) || !isset($param[$this->field])) {
+4 -4
View File
@@ -23,7 +23,7 @@ class LengthValidator extends BaseValidator
/**
* @return bool
*/
public function trigger()
public function trigger(): bool
{
$param = $this->getParams();
if (empty($param) || !isset($param[$this->field])) {
@@ -53,7 +53,7 @@ class LengthValidator extends BaseValidator
*
* 效验长度是否大于最大长度
*/
private function maxLength($value)
private function maxLength($value): bool
{
if (is_array($value)) {
if (count($value) > $value) {
@@ -76,7 +76,7 @@ class LengthValidator extends BaseValidator
*
* 效验长度是否小于最小长度
*/
private function minLength($value)
private function minLength($value): bool
{
if (is_array($value)) {
if (count($value) < $value) {
@@ -99,7 +99,7 @@ class LengthValidator extends BaseValidator
*
* 效验长度是否小于最小长度
*/
private function defaultLength($value)
private function defaultLength($value): bool
{
if (is_array($value)) {
if (count($value) !== $value) {
+1 -1
View File
@@ -17,7 +17,7 @@ class RequiredValidator extends BaseValidator
* @return bool
* 检查是否存在
*/
public function trigger()
public function trigger(): bool
{
$param = $this->getParams();
if (is_numeric($param)) {
+7 -7
View File
@@ -41,7 +41,7 @@ class TypesOfValidator extends BaseValidator
/**
* @return bool
*/
public function trigger()
public function trigger(): bool
{
if (!in_array($this->method, $this->types)) {
return true;
@@ -67,7 +67,7 @@ class TypesOfValidator extends BaseValidator
* @param $value
* @return bool
*/
public function jsonFormat($value)
public function jsonFormat($value): bool
{
if (!is_string($value) || is_numeric($value)) {
return $this->addError('The ' . $this->field . ' not is JSON data.');
@@ -82,7 +82,7 @@ class TypesOfValidator extends BaseValidator
* @param $value
* @return bool
*/
public function serializeFormat($value)
public function serializeFormat($value): bool
{
if (!is_string($value) || is_numeric($value)) {
return $this->addError('The ' . $this->field . ' not is serialize data.');
@@ -97,7 +97,7 @@ class TypesOfValidator extends BaseValidator
* @param $value
* @return bool
*/
public function arrayFormat($value)
public function arrayFormat($value): bool
{
if (!is_array($value)) {
return $this->addError('The ' . $this->field . ' not is array data.');
@@ -109,7 +109,7 @@ class TypesOfValidator extends BaseValidator
* @param $value
* @return bool
*/
public function stringFormat($value)
public function stringFormat($value): bool
{
if (is_array($value) || is_object($value) || is_bool($value)) {
return $this->addError('The ' . $this->field . ' not is string data.');
@@ -121,7 +121,7 @@ class TypesOfValidator extends BaseValidator
* @param $value
* @return bool
*/
public function integerFormat($value)
public function integerFormat($value): bool
{
if (!is_numeric($value)) {
return $this->addError('The ' . $this->field . ' not is number data.');
@@ -137,7 +137,7 @@ class TypesOfValidator extends BaseValidator
* @param $value
* @return bool
*/
public function floatFormat($value)
public function floatFormat($value): bool
{
$trim = floatval((string)$value);
if ($trim != $value || !is_float($trim)) {
+1 -1
View File
@@ -18,7 +18,7 @@ class UniqueValidator extends BaseValidator
* @throws
* 检查是否存在
*/
public function trigger()
public function trigger(): bool
{
$param = $this->getParams();
if (empty($param) || !isset($param[$this->field])) {
+8 -7
View File
@@ -5,6 +5,7 @@ declare(strict_types=1);
namespace validator;
use Closure;
use Exception;
use Snowflake\Snowflake;
@@ -104,9 +105,9 @@ class Validator extends BaseValidator
];
/**
* @return Validator
* @return Validator|null
*/
public static function getInstance()
public static function getInstance(): ?Validator
{
if (static::$instance == null) {
static::$instance = new Validator();
@@ -120,7 +121,7 @@ class Validator extends BaseValidator
* @return $this
* @throws Exception
*/
public function make($field, $rules)
public function make($field, $rules): static
{
if (!is_array($field)) {
$field = [$field];
@@ -176,7 +177,7 @@ class Validator extends BaseValidator
* @return bool
* @throws Exception
*/
public function validation()
public function validation(): bool
{
if (count($this->validators) < 1) {
return true;
@@ -197,11 +198,11 @@ class Validator extends BaseValidator
}
/**
* @param BaseValidator $val
* @param BaseValidator|array|Closure $val
* @return mixed
* @throws
* @throws Exception
*/
private function check($val)
private function check(BaseValidator|array|Closure $val): mixed
{
if (is_callable($val, true)) {
return call_user_func($val, $this);