42 lines
944 B
PHP
42 lines
944 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace app\common\validate;
|
|
|
|
use think\Validate;
|
|
|
|
class OperationNotice extends Validate
|
|
{
|
|
protected $failException = true;
|
|
|
|
protected $rule = [
|
|
'title' => 'require|max:255',
|
|
'notice_type' => 'require|in:0,1',
|
|
'status' => 'require|in:0,1',
|
|
'publish_at' => 'require|checkPublishAt',
|
|
];
|
|
|
|
protected $scene = [
|
|
'add' => ['title', 'notice_type', 'status', 'publish_at'],
|
|
'edit' => ['title', 'notice_type', 'status', 'publish_at'],
|
|
];
|
|
|
|
protected function checkPublishAt($value): bool
|
|
{
|
|
if (is_int($value)) {
|
|
return $value >= 0;
|
|
}
|
|
if (is_string($value)) {
|
|
if ($value === '') {
|
|
return false;
|
|
}
|
|
if (ctype_digit($value)) {
|
|
return true;
|
|
}
|
|
return strtotime($value) !== false;
|
|
}
|
|
return false;
|
|
}
|
|
}
|