init
- 框架初始化 - 安装插件 - 修复PHP8.4报错
This commit is contained in:
57
application/admin/validate/Admin.php
Normal file
57
application/admin/validate/Admin.php
Normal file
@@ -0,0 +1,57 @@
|
||||
<?php
|
||||
|
||||
namespace app\admin\validate;
|
||||
|
||||
use think\Validate;
|
||||
|
||||
class Admin extends Validate
|
||||
{
|
||||
|
||||
/**
|
||||
* 验证规则
|
||||
*/
|
||||
protected $rule = [
|
||||
'username' => 'require|regex:\w{3,30}|unique:admin',
|
||||
'nickname' => 'require',
|
||||
'password' => 'require|regex:\S{32}',
|
||||
'email' => 'require|email|unique:admin,email',
|
||||
'mobile' => 'regex:1[3-9]\d{9}|unique:admin,mobile',
|
||||
];
|
||||
|
||||
/**
|
||||
* 提示消息
|
||||
*/
|
||||
protected $message = [
|
||||
];
|
||||
|
||||
/**
|
||||
* 字段描述
|
||||
*/
|
||||
protected $field = [
|
||||
];
|
||||
|
||||
/**
|
||||
* 验证场景
|
||||
*/
|
||||
protected $scene = [
|
||||
'add' => ['username', 'email', 'nickname', 'password', 'mobile'],
|
||||
'edit' => ['username', 'email', 'nickname', 'password', 'mobile'],
|
||||
];
|
||||
|
||||
public function __construct(?array $rules = [], $message = [], $field = [])
|
||||
{
|
||||
$this->field = [
|
||||
'username' => __('Username'),
|
||||
'nickname' => __('Nickname'),
|
||||
'password' => __('Password'),
|
||||
'email' => __('Email'),
|
||||
'mobile' => __('Mobile'),
|
||||
];
|
||||
$this->message = array_merge($this->message, [
|
||||
'username.regex' => __('Please input correct username'),
|
||||
'password.regex' => __('Please input correct password')
|
||||
]);
|
||||
parent::__construct($rules, $message, $field);
|
||||
}
|
||||
|
||||
}
|
||||
52
application/admin/validate/AuthRule.php
Normal file
52
application/admin/validate/AuthRule.php
Normal file
@@ -0,0 +1,52 @@
|
||||
<?php
|
||||
|
||||
namespace app\admin\validate;
|
||||
|
||||
use think\Validate;
|
||||
|
||||
class AuthRule extends Validate
|
||||
{
|
||||
|
||||
/**
|
||||
* 正则
|
||||
*/
|
||||
protected $regex = ['format' => '[a-z0-9_\/]+'];
|
||||
|
||||
/**
|
||||
* 验证规则
|
||||
*/
|
||||
protected $rule = [
|
||||
'name' => 'require|unique:AuthRule',
|
||||
'title' => 'require',
|
||||
];
|
||||
|
||||
/**
|
||||
* 提示消息
|
||||
*/
|
||||
protected $message = [
|
||||
'name.format' => 'URL规则只能是小写字母、数字、下划线和/组成'
|
||||
];
|
||||
|
||||
/**
|
||||
* 字段描述
|
||||
*/
|
||||
protected $field = [
|
||||
];
|
||||
|
||||
/**
|
||||
* 验证场景
|
||||
*/
|
||||
protected $scene = [
|
||||
];
|
||||
|
||||
public function __construct(?array $rules = [], $message = [], $field = [])
|
||||
{
|
||||
$this->field = [
|
||||
'name' => __('Name'),
|
||||
'title' => __('Title'),
|
||||
];
|
||||
$this->message['name.format'] = __('Name only supports letters, numbers, underscore and slash');
|
||||
parent::__construct($rules, $message, $field);
|
||||
}
|
||||
|
||||
}
|
||||
27
application/admin/validate/Category.php
Normal file
27
application/admin/validate/Category.php
Normal file
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace app\admin\validate;
|
||||
|
||||
use think\Validate;
|
||||
|
||||
class Category extends Validate
|
||||
{
|
||||
/**
|
||||
* 验证规则
|
||||
*/
|
||||
protected $rule = [
|
||||
];
|
||||
/**
|
||||
* 提示消息
|
||||
*/
|
||||
protected $message = [
|
||||
];
|
||||
/**
|
||||
* 验证场景
|
||||
*/
|
||||
protected $scene = [
|
||||
'add' => [],
|
||||
'edit' => [],
|
||||
];
|
||||
|
||||
}
|
||||
27
application/admin/validate/Command.php
Normal file
27
application/admin/validate/Command.php
Normal file
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace app\admin\validate;
|
||||
|
||||
use think\Validate;
|
||||
|
||||
class Command extends Validate
|
||||
{
|
||||
/**
|
||||
* 验证规则
|
||||
*/
|
||||
protected $rule = [
|
||||
];
|
||||
/**
|
||||
* 提示消息
|
||||
*/
|
||||
protected $message = [
|
||||
];
|
||||
/**
|
||||
* 验证场景
|
||||
*/
|
||||
protected $scene = [
|
||||
'add' => [],
|
||||
'edit' => [],
|
||||
];
|
||||
|
||||
}
|
||||
50
application/admin/validate/User.php
Normal file
50
application/admin/validate/User.php
Normal file
@@ -0,0 +1,50 @@
|
||||
<?php
|
||||
|
||||
namespace app\admin\validate;
|
||||
|
||||
use think\Validate;
|
||||
|
||||
class User extends Validate
|
||||
{
|
||||
/**
|
||||
* 验证规则
|
||||
*/
|
||||
protected $rule = [
|
||||
'username' => 'require|regex:\w{3,30}|unique:user',
|
||||
'nickname' => 'require|unique:user',
|
||||
'password' => 'regex:\S{6,30}',
|
||||
'email' => 'require|email|unique:user',
|
||||
'mobile' => 'unique:user'
|
||||
];
|
||||
|
||||
/**
|
||||
* 字段描述
|
||||
*/
|
||||
protected $field = [
|
||||
];
|
||||
/**
|
||||
* 提示消息
|
||||
*/
|
||||
protected $message = [
|
||||
];
|
||||
/**
|
||||
* 验证场景
|
||||
*/
|
||||
protected $scene = [
|
||||
'add' => [],
|
||||
'edit' => ['username', 'nickname', 'password', 'email', 'mobile'],
|
||||
];
|
||||
|
||||
public function __construct(?array $rules = [], $message = [], $field = [])
|
||||
{
|
||||
$this->field = [
|
||||
'username' => __('Username'),
|
||||
'nickname' => __('Nickname'),
|
||||
'password' => __('Password'),
|
||||
'email' => __('Email'),
|
||||
'mobile' => __('Mobile')
|
||||
];
|
||||
parent::__construct($rules, $message, $field);
|
||||
}
|
||||
|
||||
}
|
||||
27
application/admin/validate/UserGroup.php
Normal file
27
application/admin/validate/UserGroup.php
Normal file
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace app\admin\validate;
|
||||
|
||||
use think\Validate;
|
||||
|
||||
class UserGroup extends Validate
|
||||
{
|
||||
/**
|
||||
* 验证规则
|
||||
*/
|
||||
protected $rule = [
|
||||
];
|
||||
/**
|
||||
* 提示消息
|
||||
*/
|
||||
protected $message = [
|
||||
];
|
||||
/**
|
||||
* 验证场景
|
||||
*/
|
||||
protected $scene = [
|
||||
'add' => [],
|
||||
'edit' => [],
|
||||
];
|
||||
|
||||
}
|
||||
27
application/admin/validate/UserRule.php
Normal file
27
application/admin/validate/UserRule.php
Normal file
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace app\admin\validate;
|
||||
|
||||
use think\Validate;
|
||||
|
||||
class UserRule extends Validate
|
||||
{
|
||||
/**
|
||||
* 验证规则
|
||||
*/
|
||||
protected $rule = [
|
||||
];
|
||||
/**
|
||||
* 提示消息
|
||||
*/
|
||||
protected $message = [
|
||||
];
|
||||
/**
|
||||
* 验证场景
|
||||
*/
|
||||
protected $scene = [
|
||||
'add' => [],
|
||||
'edit' => [],
|
||||
];
|
||||
|
||||
}
|
||||
31
application/admin/validate/shopro/Category.php
Normal file
31
application/admin/validate/shopro/Category.php
Normal file
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
namespace app\admin\validate\shopro;
|
||||
|
||||
use think\Validate;
|
||||
|
||||
class Category extends Validate
|
||||
{
|
||||
/**
|
||||
* 验证规则
|
||||
*/
|
||||
protected $rule = [
|
||||
'name' => 'require',
|
||||
'style' => 'require',
|
||||
];
|
||||
/**
|
||||
* 提示消息
|
||||
*/
|
||||
protected $message = [
|
||||
'name.require' => '请填写自定义分类名称',
|
||||
'style.require' => '请选择分类样式',
|
||||
];
|
||||
/**
|
||||
* 验证场景
|
||||
*/
|
||||
protected $scene = [
|
||||
'add' => ['name', 'style'],
|
||||
'edit' => ['name', 'style'],
|
||||
];
|
||||
|
||||
}
|
||||
44
application/admin/validate/shopro/Coupon.php
Normal file
44
application/admin/validate/shopro/Coupon.php
Normal file
@@ -0,0 +1,44 @@
|
||||
<?php
|
||||
|
||||
namespace app\admin\validate\shopro;
|
||||
|
||||
use think\Validate;
|
||||
use app\admin\validate\shopro\traits\CustomRule;
|
||||
|
||||
class Coupon extends Validate
|
||||
{
|
||||
use CustomRule;
|
||||
|
||||
protected $rule = [
|
||||
'name' => 'require',
|
||||
'type' => 'require',
|
||||
'use_scope' => 'require',
|
||||
'items' => 'requireIfAll:use_scope,goods,disabled_goods,category', // 当 use_scope 在 goods,disabled_goods,category 时,items 必填
|
||||
'amount' => 'require',
|
||||
'enough' => 'require',
|
||||
'stock' => 'require',
|
||||
'get_time' => 'require',
|
||||
'use_time_type' => 'require',
|
||||
'use_time' => 'requireIf:use_time_type,range', // 固定区间时必填
|
||||
'days' => 'requireIf:use_time_type,days', // 相对天数时必填
|
||||
];
|
||||
|
||||
protected $message = [
|
||||
'name.require' => '请填写优惠券名称',
|
||||
'type.require' => '请选择优惠券类型',
|
||||
'use_scope.require' => '请选择可用范围',
|
||||
'items.requireIfAll' => '请选择可用范围值',
|
||||
'amount.require' => '请填写优惠券面额',
|
||||
'enough.require' => '请填写优惠券消费门槛',
|
||||
'stock.require' => '请填写优惠券发放数量',
|
||||
'get_time.require' => '请选择优惠券发放时间',
|
||||
'use_time_type.require' => '请选择优惠券使用时间类型',
|
||||
'use_time.requireIf' => '请选择优惠券可使用时间',
|
||||
'days.requireIf' => '请填写优惠券有效天数',
|
||||
];
|
||||
|
||||
|
||||
protected $scene = [
|
||||
'add' => ['name', 'type', 'use_scope', 'items', 'amount', 'enough', 'stock', 'get_time', 'use_time_type', 'use_time', 'days'],
|
||||
];
|
||||
}
|
||||
71
application/admin/validate/shopro/PayConfig.php
Normal file
71
application/admin/validate/shopro/PayConfig.php
Normal file
@@ -0,0 +1,71 @@
|
||||
<?php
|
||||
|
||||
namespace app\admin\validate\shopro;
|
||||
|
||||
use think\Validate;
|
||||
|
||||
class PayConfig extends Validate
|
||||
{
|
||||
protected $rule = [
|
||||
'name' => 'require',
|
||||
'type' => 'require',
|
||||
'params' => 'require|array',
|
||||
|
||||
|
||||
'mode' => 'require', // 模式必选
|
||||
|
||||
'mch_id' => 'require',
|
||||
'mch_secret_key' => 'require',
|
||||
'mch_secret_cert' => 'require',
|
||||
'mch_public_cert_path' => 'require',
|
||||
'sub_mch_id' => 'requireIf:mode,2',
|
||||
'app_id' => 'requireIf:mode,2', // 这个支付宝也用这个 app_id 参数名,这里有点问题,支付宝普通模式如果不填这里验证拦不住
|
||||
'sub_mch_secret_key' => 'requireIf:mode,2',
|
||||
'sub_mch_secret_cert' => 'requireIf:mode,2',
|
||||
'sub_mch_public_cert_path' => 'requireIf:mode,2',
|
||||
|
||||
// 支付宝参数校验
|
||||
'service_provider_id' => 'requireIf:mode,service',
|
||||
'alipay_public_cert_path' => 'require',
|
||||
'app_public_cert_path' => 'require',
|
||||
'alipay_root_cert_path' => 'require',
|
||||
'private_key' => 'require',
|
||||
];
|
||||
|
||||
protected $message = [
|
||||
'name.require' => '请填写支付配置名称',
|
||||
'type.require' => '请选择支付配置类型',
|
||||
'params.require' => '请填写正确的支付参数',
|
||||
'params.array' => '请填写正确的支付参数',
|
||||
|
||||
// 微信支付参数校验
|
||||
'mode.require' => '请选择商户类型',
|
||||
'app_id.requireIf' => '请填写商户相关 AppId', // 这个支付宝也用这个 app_id 参数名
|
||||
|
||||
'mch_id.require' => '请填写商户 ID',
|
||||
'mch_secret_key.require' => '请填写商户密钥',
|
||||
'mch_secret_cert.require' => '请上传商户 key 证书',
|
||||
'mch_public_cert_path.require' => '请上传商户证书',
|
||||
'sub_mch_id.requireIf' => '请填写子商户 ID',
|
||||
'sub_mch_secret_key.requireIf' => '请填写子商户密钥',
|
||||
'sub_mch_secret_cert.requireIf' => '请上传子商户 key 证书',
|
||||
'sub_mch_public_cert_path.requireIf' => '请上传子商户证书',
|
||||
|
||||
|
||||
// 支付宝参数校验
|
||||
'service_provider_id.requireIf' => '请填写主商户 ID',
|
||||
'alipay_public_cert_path.require' => '请上传支付宝公钥证书',
|
||||
'app_public_cert_path.require' => '请上传应用公钥证书',
|
||||
'alipay_root_cert_path.require' => '请上传支付宝根证书',
|
||||
'app_secret_cert.require' => '请填写支付宝私钥',
|
||||
];
|
||||
|
||||
|
||||
protected $scene = [
|
||||
'add' => ['name', 'type', 'params'],
|
||||
|
||||
'wechat' => ['mode', 'mch_id', 'mch_secret_key', 'mch_secret_cert', 'mch_public_cert_path', 'app_id', 'sub_mch_id'],
|
||||
|
||||
'alipay' => ['mode', 'service_provider_id', 'app_id', 'alipay_public_cert_path', 'app_public_cert_path', 'alipay_root_cert_path', 'app_secret_cert'],
|
||||
];
|
||||
}
|
||||
30
application/admin/validate/shopro/activity/Activity.php
Normal file
30
application/admin/validate/shopro/activity/Activity.php
Normal file
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
namespace app\admin\validate\shopro\activity;
|
||||
|
||||
use think\Validate;
|
||||
|
||||
class Activity extends Validate
|
||||
{
|
||||
protected $rule = [
|
||||
'title' => 'require',
|
||||
'type' => 'require',
|
||||
'start_time' => 'require',
|
||||
'end_time' => 'require',
|
||||
'rules' => 'require|array',
|
||||
];
|
||||
|
||||
protected $message = [
|
||||
'title.require' => '请填写活动标题',
|
||||
'type.require' => '活动类型不正确',
|
||||
'start_time.require' => '请选择活动开始时间',
|
||||
'end_time.require' => '请选择活动结束时间',
|
||||
'rules.require' => '缺少活动规则',
|
||||
'rules.array' => '活动规则不正确',
|
||||
];
|
||||
|
||||
|
||||
protected $scene = [
|
||||
'add' => ['title', 'type', 'start_time', 'end_time', 'rules'],
|
||||
];
|
||||
}
|
||||
27
application/admin/validate/shopro/app/ScoreShop.php
Normal file
27
application/admin/validate/shopro/app/ScoreShop.php
Normal file
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace app\admin\validate\shopro\chat;
|
||||
|
||||
use think\Validate;
|
||||
|
||||
class ScoreShop extends Validate
|
||||
{
|
||||
protected $rule = [
|
||||
'goods_id' => 'require',
|
||||
'sku_prices' => 'require|array',
|
||||
|
||||
|
||||
];
|
||||
|
||||
protected $message = [
|
||||
'goods_id.require' => '请选择要添加的商品',
|
||||
'sku_prices.require' => '请填写积分商品规格',
|
||||
'sku_prices.array' => '请填写积分商品规格',
|
||||
];
|
||||
|
||||
|
||||
protected $scene = [
|
||||
'add' => ['goods_id', 'sku_prices'],
|
||||
'edit' => ['sku_prices']
|
||||
];
|
||||
}
|
||||
25
application/admin/validate/shopro/chat/CommonWord.php
Normal file
25
application/admin/validate/shopro/chat/CommonWord.php
Normal file
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
namespace app\admin\validate\shopro\chat;
|
||||
|
||||
use think\Validate;
|
||||
|
||||
class CommonWord extends Validate
|
||||
{
|
||||
protected $rule = [
|
||||
'room_id' => 'require',
|
||||
'name' => 'require',
|
||||
'content' => 'require',
|
||||
];
|
||||
|
||||
protected $message = [
|
||||
'room_id.require' => '客服房间号必须填写',
|
||||
'name.require' => '常用语名称必须填写',
|
||||
'content.require' => '常用于内容必须填写',
|
||||
];
|
||||
|
||||
|
||||
protected $scene = [
|
||||
'add' => ['room_id', 'name', 'content']
|
||||
];
|
||||
}
|
||||
29
application/admin/validate/shopro/chat/CustomerService.php
Normal file
29
application/admin/validate/shopro/chat/CustomerService.php
Normal file
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
namespace app\admin\validate\shopro\chat;
|
||||
|
||||
use think\Validate;
|
||||
|
||||
class CustomerService extends Validate
|
||||
{
|
||||
protected $rule = [
|
||||
'name' => 'require',
|
||||
'avatar' => 'require',
|
||||
'room_id' => 'require',
|
||||
'auth' => 'require',
|
||||
'auth_id' => 'require',
|
||||
];
|
||||
|
||||
protected $message = [
|
||||
'name.require' => '客服名称必须填写',
|
||||
'avatar.require' => '客服头像必须上传',
|
||||
'room_id.require' => '客服房间号必须填写',
|
||||
'auth.require' => '客服所属身份必须选择',
|
||||
'auth_id.require' => '客服所属身份必须选择',
|
||||
];
|
||||
|
||||
|
||||
protected $scene = [
|
||||
'add' => ['name', 'avatar', 'room_id', 'auth', 'auth_id']
|
||||
];
|
||||
}
|
||||
25
application/admin/validate/shopro/chat/Question.php
Normal file
25
application/admin/validate/shopro/chat/Question.php
Normal file
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
namespace app\admin\validate\shopro\chat;
|
||||
|
||||
use think\Validate;
|
||||
|
||||
class Question extends Validate
|
||||
{
|
||||
protected $rule = [
|
||||
'room_id' => 'require',
|
||||
'title' => 'require',
|
||||
'content' => 'require',
|
||||
];
|
||||
|
||||
protected $message = [
|
||||
'room_id.require' => '客服房间号必须填写',
|
||||
'title.require' => '猜你想问标题必须填写',
|
||||
'content.require' => '猜你想问内容必须填写',
|
||||
];
|
||||
|
||||
|
||||
protected $scene = [
|
||||
'add' => ['room_id', 'title', 'content']
|
||||
];
|
||||
}
|
||||
36
application/admin/validate/shopro/data/FakeUser.php
Normal file
36
application/admin/validate/shopro/data/FakeUser.php
Normal file
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
namespace app\admin\validate\shopro\data;
|
||||
|
||||
use think\Validate;
|
||||
|
||||
class FakeUser extends Validate
|
||||
{
|
||||
protected $rule = [
|
||||
'username' => 'require|alphaDash|length:5,20',
|
||||
'nickname' => 'require|chsDash|length:2,15',
|
||||
'mobile' => 'regex:/^1[3-9]\d{9}$/',
|
||||
'avatar' => 'require',
|
||||
'email' => 'email',
|
||||
'password' => 'length:6,16',
|
||||
];
|
||||
|
||||
protected $message = [
|
||||
'username.require' => '用户名必须填写',
|
||||
'username.alphaDash' => '用户名只能是字母和数字,下划线_及破折号-',
|
||||
'username.length' => '用户名长度必须在 5-20 位',
|
||||
'nickname.require' => '昵称必须填写',
|
||||
'nickname.chsDash' => '昵称名称只能是汉字、字母、数字和下划线_及破折号-',
|
||||
'nickname.length' => '昵称长度必须在 2-15 位',
|
||||
'mobile.regex' => '手机号格式不正确',
|
||||
'avatar.require' => '头像必须上传',
|
||||
'email.email' => '邮箱格式不正确',
|
||||
'password.length' => '密码长度必须在 6-16 位',
|
||||
];
|
||||
|
||||
|
||||
protected $scene = [
|
||||
'add' => ['username', 'nickname', 'mobile', 'password', 'avatar', 'email'],
|
||||
'edit' => ['username', 'nickname', 'mobile', 'password', 'avatar', 'email'],
|
||||
];
|
||||
}
|
||||
33
application/admin/validate/shopro/data/Faq.php
Normal file
33
application/admin/validate/shopro/data/Faq.php
Normal file
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
|
||||
namespace app\admin\validate\shopro\data;
|
||||
|
||||
use think\Validate;
|
||||
|
||||
class Faq extends Validate
|
||||
{
|
||||
/**
|
||||
* 验证规则
|
||||
*/
|
||||
protected $rule = [
|
||||
'title' => 'require',
|
||||
'content' => 'require',
|
||||
'status' => 'require',
|
||||
];
|
||||
/**
|
||||
* 提示消息
|
||||
*/
|
||||
protected $message = [
|
||||
'title.require' => '请填写 Faq 标题',
|
||||
'content.require' => '请填写 Faq 内容',
|
||||
'status.require' => '请选择 Faq 状态',
|
||||
];
|
||||
/**
|
||||
* 验证场景
|
||||
*/
|
||||
protected $scene = [
|
||||
'add' => ['title', 'content', 'status'],
|
||||
'edit' => ['title', 'content', 'status'],
|
||||
];
|
||||
|
||||
}
|
||||
41
application/admin/validate/shopro/dispatch/Dispatch.php
Normal file
41
application/admin/validate/shopro/dispatch/Dispatch.php
Normal file
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
|
||||
namespace app\admin\validate\shopro\dispatch;
|
||||
|
||||
use think\Validate;
|
||||
|
||||
class Dispatch extends Validate
|
||||
{
|
||||
protected $rule = [
|
||||
'name' => 'require',
|
||||
'express' => 'array',
|
||||
'autosend' => 'array',
|
||||
|
||||
// express 表数据
|
||||
'type' => 'require',
|
||||
'first_num' => 'require',
|
||||
'first_price' => 'require',
|
||||
'additional_num' => 'require',
|
||||
'additional_price' => 'require',
|
||||
];
|
||||
|
||||
protected $message = [
|
||||
'name.require' => '请填写自定义分类名称',
|
||||
'express.array' => '请填写正确的模板规则',
|
||||
'autosend.array' => '请填写正确的自动发货规则',
|
||||
|
||||
'type.require' => '请选择计价方式',
|
||||
'first_num.require' => '请填写初始计价数量',
|
||||
'first_price.require' => '请填写初始配送价格',
|
||||
'additional_num.require' => '请填写追加计价数量',
|
||||
'additional_price.require' => '请填写追加计价价格',
|
||||
];
|
||||
|
||||
|
||||
protected $scene = [
|
||||
'add' => ['name', 'express'],
|
||||
'express' => ['type', 'first_num', 'first_price', 'additional_num', 'additional_price'],
|
||||
|
||||
'autosend' => ['type', 'content']
|
||||
];
|
||||
}
|
||||
30
application/admin/validate/shopro/goods/Comment.php
Normal file
30
application/admin/validate/shopro/goods/Comment.php
Normal file
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
namespace app\admin\validate\shopro\goods;
|
||||
|
||||
use think\Validate;
|
||||
|
||||
class Comment extends Validate
|
||||
{
|
||||
protected $rule = [
|
||||
'goods_id' => 'require',
|
||||
'user_id' => 'require',
|
||||
'level' => 'require|number|between:1,5',
|
||||
'content' => 'require',
|
||||
];
|
||||
|
||||
protected $message = [
|
||||
'goods_id.require' => '请选择商品',
|
||||
'user_id.require' => '请选择用户',
|
||||
'level.require' => '请选择评价星级',
|
||||
'level.number' => '请选择评价星级',
|
||||
'level.between' => '请选择评价星级',
|
||||
'content.require' => '请填写内容',
|
||||
];
|
||||
|
||||
|
||||
protected $scene = [
|
||||
'add' => ['goods_id', 'user_id', 'level', 'content'],
|
||||
'reply' => ['content'],
|
||||
];
|
||||
}
|
||||
45
application/admin/validate/shopro/goods/Goods.php
Normal file
45
application/admin/validate/shopro/goods/Goods.php
Normal file
@@ -0,0 +1,45 @@
|
||||
<?php
|
||||
|
||||
namespace app\admin\validate\shopro\goods;
|
||||
|
||||
use think\Validate;
|
||||
use app\admin\validate\shopro\traits\CustomRule;
|
||||
|
||||
class Goods extends Validate
|
||||
{
|
||||
use CustomRule;
|
||||
|
||||
protected $rule = [
|
||||
'title' => 'require',
|
||||
// 'subtitle' => 'require',
|
||||
'category_ids' => 'require',
|
||||
'image' => 'require',
|
||||
'images' => 'require|array',
|
||||
'is_sku' => 'require',
|
||||
// 'cost_price' => 'require',
|
||||
// 'original_price' => 'requireIf:is_sku,0',
|
||||
'price' => 'requireIf:is_sku,0',
|
||||
'dispatch_id' => 'requireIfAll:dispatch_type,express,autosend',
|
||||
|
||||
|
||||
];
|
||||
|
||||
protected $message = [
|
||||
'title.require' => '请填写商品标题',
|
||||
// 'subtitle.require' => '请填写商品副标题',
|
||||
'category_ids.require' => '请选择商品分类',
|
||||
'image.require' => '请选择商品封面图',
|
||||
'images.require' => '请选择商品轮播图',
|
||||
'images.array' => '请选择商品轮播图',
|
||||
// 'cost_price.require' => '请填写商品成本价',
|
||||
// 'original_price.require' => '请填写商品原价',
|
||||
'price.requireIf' => '请填写商品现价',
|
||||
'dispatch_id.requireIfAll' => '请选择配送模板',
|
||||
];
|
||||
|
||||
|
||||
protected $scene = [
|
||||
'add' => ['title', 'image', 'images', 'price', 'dispatch_id'],
|
||||
'sku_params' => ['price']
|
||||
];
|
||||
}
|
||||
21
application/admin/validate/shopro/goods/Service.php
Normal file
21
application/admin/validate/shopro/goods/Service.php
Normal file
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
namespace app\admin\validate\shopro\goods;
|
||||
|
||||
use think\Validate;
|
||||
|
||||
class Service extends Validate
|
||||
{
|
||||
protected $rule = [
|
||||
'name' => 'require',
|
||||
];
|
||||
|
||||
protected $message = [
|
||||
'name.require' => '请填写服务保障名称',
|
||||
];
|
||||
|
||||
|
||||
protected $scene = [
|
||||
'add' => ['name']
|
||||
];
|
||||
}
|
||||
23
application/admin/validate/shopro/goods/StockWarning.php
Normal file
23
application/admin/validate/shopro/goods/StockWarning.php
Normal file
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
namespace app\admin\validate\shopro\goods;
|
||||
|
||||
use think\Validate;
|
||||
|
||||
class StockWarning extends Validate
|
||||
{
|
||||
protected $rule = [
|
||||
'stock' => 'require|integer|gt:0',
|
||||
];
|
||||
|
||||
protected $message = [
|
||||
'stock.require' => '请填写补货数量',
|
||||
'stock.integer' => '请填写补货数量',
|
||||
'stock.gt' => '请填写正确的补货数量'
|
||||
];
|
||||
|
||||
|
||||
protected $scene = [
|
||||
'add_stock' => ['stock']
|
||||
];
|
||||
}
|
||||
29
application/admin/validate/shopro/order/Aftersale.php
Normal file
29
application/admin/validate/shopro/order/Aftersale.php
Normal file
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
namespace app\admin\validate\shopro\order;
|
||||
|
||||
use think\Validate;
|
||||
|
||||
class Aftersale extends Validate
|
||||
{
|
||||
protected $rule = [
|
||||
'refuse_msg' => 'require',
|
||||
'refund_money' => 'require|float|gt:0',
|
||||
'content' => 'require'
|
||||
];
|
||||
|
||||
protected $message = [
|
||||
'refuse_msg.require' => '请输入拒绝原因',
|
||||
'refund_money.require' => '请输入正确的退款金额',
|
||||
'refund_money.float' => '请输入正确的退款金额',
|
||||
'refund_money.gt' => '请输入正确的退款金额',
|
||||
'content.require' => '请输入留言内容',
|
||||
];
|
||||
|
||||
|
||||
protected $scene = [
|
||||
'refuse' => ['refuse_msg'],
|
||||
'refund' => ['refund_money'],
|
||||
'add_log' => ['content'],
|
||||
];
|
||||
}
|
||||
75
application/admin/validate/shopro/order/Order.php
Normal file
75
application/admin/validate/shopro/order/Order.php
Normal file
@@ -0,0 +1,75 @@
|
||||
<?php
|
||||
|
||||
namespace app\admin\validate\shopro\order;
|
||||
|
||||
use think\Validate;
|
||||
|
||||
class Order extends Validate
|
||||
{
|
||||
protected $rule = [
|
||||
'order_id' => 'require',
|
||||
'order_item_ids' => 'require',
|
||||
'custom_type' => 'require',
|
||||
'custom_content' => 'require',
|
||||
|
||||
'pay_fee' => 'require|float|gt:0',
|
||||
'change_msg' => 'require',
|
||||
|
||||
// 编辑订单收货地址
|
||||
'consignee' => 'require',
|
||||
'mobile' => 'require',
|
||||
'province_name' => 'require',
|
||||
'city_name' => 'require',
|
||||
'district_name' => 'require',
|
||||
'address' => 'require',
|
||||
'province_id' => 'require',
|
||||
'city_id' => 'require',
|
||||
'district_id' => 'require',
|
||||
|
||||
// 编辑卖家备注
|
||||
'memo' => 'require',
|
||||
|
||||
// 订单退款
|
||||
'refund_money' => 'require|float|gt:0'
|
||||
];
|
||||
|
||||
protected $message = [
|
||||
'order_id' => '参数错误',
|
||||
'order_item_ids' => '参数错误',
|
||||
'custom_type' => '请选择发货内容类型',
|
||||
'custom_content' => '请填写发货内容',
|
||||
|
||||
'pay_fee.require' => '请输入正确的应支付金额',
|
||||
'pay_fee.float' => '请输入正确的应支付金额',
|
||||
'pay_fee.gt' => '请输入正确的应支付金额',
|
||||
'change_msg.require' => '请输入改价备注',
|
||||
|
||||
// 编辑订单收货地址
|
||||
'consignee.require' => '请填写收货人信息',
|
||||
'mobile.require' => '请填写手机号',
|
||||
'province_name.require' => '请选择省份',
|
||||
'city_name.require' => '请选择城市',
|
||||
'district_name.require' => '请选择地区',
|
||||
'address.require' => '请填写详细收货信息',
|
||||
'province_id.require' => '请选择省份',
|
||||
'city_id.require' => '请选择城市',
|
||||
'district_id.require' => '请选择地区',
|
||||
|
||||
// 编辑卖家备注
|
||||
'memo.require' => '请输入卖家备注',
|
||||
|
||||
// 订单退款
|
||||
'refund_money.require' => '请输入正确的退款金额',
|
||||
'refund_money.float' => '请输入正确的退款金额',
|
||||
'refund_money.gt' => '请输入正确的退款金额',
|
||||
];
|
||||
|
||||
|
||||
protected $scene = [
|
||||
'custom_dispatch' => ['order_id', 'order_item_ids', 'custom_type', 'custom_content'],
|
||||
'change_fee' => ['pay_fee', 'change_msg'],
|
||||
'edit_consignee' => ['consignee', 'mobile', 'province_name', 'city_name', 'district_name', 'address', 'province_id', 'city_id', 'district_id'],
|
||||
'edit_memo' => ['memo'],
|
||||
'refund' => ['refund_money'],
|
||||
];
|
||||
}
|
||||
31
application/admin/validate/shopro/traits/CustomRule.php
Normal file
31
application/admin/validate/shopro/traits/CustomRule.php
Normal file
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
namespace app\admin\validate\shopro\traits;
|
||||
|
||||
|
||||
/**
|
||||
* 自定义验证规则
|
||||
*/
|
||||
trait CustomRule
|
||||
{
|
||||
|
||||
/**
|
||||
* requireIf 的扩展, 可以同时验证多个值
|
||||
*
|
||||
* @param mixed $value
|
||||
* @param mixed $rule
|
||||
* @param array $data
|
||||
* @return bool
|
||||
*/
|
||||
protected function requireIfAll($value, $rule, $data = [])
|
||||
{
|
||||
$ruleArr = explode(',', $rule);
|
||||
$ifField = $ruleArr[0];
|
||||
unset($ruleArr[0]);
|
||||
if (in_array($data[$ifField], $ruleArr)) {
|
||||
return $value ? true : false;
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
130
application/admin/validate/shopro/user/User.php
Normal file
130
application/admin/validate/shopro/user/User.php
Normal file
@@ -0,0 +1,130 @@
|
||||
<?php
|
||||
|
||||
namespace app\admin\validate\shopro\user;
|
||||
|
||||
use think\Validate;
|
||||
use think\Db;
|
||||
use think\Loader;
|
||||
use think\exception\ClassNotFoundException;
|
||||
|
||||
class User extends Validate
|
||||
{
|
||||
protected $regex = [
|
||||
'password' => '/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]+\S{5,12}$/',
|
||||
'notPureNumber' => '^[a-zA-Z][a-zA-Z0-9_]{4,15}$',
|
||||
'mobile' => '/^1[3456789]\d{9}$/',
|
||||
];
|
||||
|
||||
protected $rule = [
|
||||
'username' => 'alphaDash|length:5,12|unique:user|regex:notPureNumber',
|
||||
'nickname' => 'require|length:1,10',
|
||||
'mobile' => 'regex:mobile',
|
||||
'password' => 'length:6,16|regex:password',
|
||||
'oldPassword' => 'require',
|
||||
'newPassword' => 'require|length:6,16|regex:password',
|
||||
'avatar' => 'require',
|
||||
'email' => 'email|unique:user',
|
||||
'code' => 'require',
|
||||
'gender' => 'in:0,1'
|
||||
];
|
||||
|
||||
protected $message = [
|
||||
'username.require' => '用户名必须填写',
|
||||
'username.alphaDash' => '用户名只能包含字母,数字,_和-',
|
||||
'username.length' => '用户名长度必须在 5-12 位',
|
||||
'username.unique' => '用户名已被占用',
|
||||
'username.regx' => '用户名需以字母开头',
|
||||
|
||||
'nickname.require' => '昵称必须填写',
|
||||
'nickname.chsDash' => '昵称只能包含汉字,字母,数字,_和-',
|
||||
'nickname.length' => '昵称长度必须在 2-10 位',
|
||||
|
||||
'mobile.require' => '手机号必须填写',
|
||||
'mobile.regex' => '手机号格式不正确',
|
||||
'mobile.unique' => '手机号已被占用',
|
||||
|
||||
'password.require' => '请填写密码',
|
||||
'password.length' => '密码长度必须在 6-16 位',
|
||||
'password.regx' => '密码必须包含字母和数字',
|
||||
|
||||
'oldPassword.require' => '请填写旧密码',
|
||||
|
||||
'newPassword.require' => '请填写新密码',
|
||||
'newPassword.length' => '密码长度必须在 6-16 位',
|
||||
'newPassword.regx' => '密码必须包含字母和数字',
|
||||
|
||||
'avatar.require' => '头像必须上传',
|
||||
|
||||
'email.email' => '邮箱格式不正确',
|
||||
'email.unique' => '邮箱已被占用',
|
||||
|
||||
'code.require' => '请填写验证码',
|
||||
|
||||
'gender.in' => '请选择性别'
|
||||
];
|
||||
|
||||
|
||||
protected $scene = [
|
||||
'edit' => ['username', 'nickname', 'mobile', 'password', 'avatar', 'gender', 'email', 'status']
|
||||
];
|
||||
|
||||
/**
|
||||
* 验证是否唯一
|
||||
* @access public
|
||||
* @param mixed $value 字段值
|
||||
* @param mixed $rule 验证规则 格式:数据表,字段名,排除ID,主键名
|
||||
* @param array $data 数据
|
||||
* @param string $field 验证字段名
|
||||
* @return bool
|
||||
*/
|
||||
public function unique($value, $rule, $data = [], $field = '')
|
||||
{
|
||||
if (is_string($rule)) {
|
||||
$rule = explode(',', $rule);
|
||||
}
|
||||
|
||||
if (false !== strpos($rule[0], '\\')) {
|
||||
// 指定模型类
|
||||
$db = new $rule[0];
|
||||
} else {
|
||||
try {
|
||||
$db = Loader::model($rule[0]);
|
||||
} catch (ClassNotFoundException $e) {
|
||||
$db = Db::name($rule[0]);
|
||||
}
|
||||
}
|
||||
|
||||
$key = $rule[1] ?? $field;
|
||||
$map = [];
|
||||
|
||||
if (strpos($key, '^')) {
|
||||
// 支持多个字段验证
|
||||
$fields = explode('^', $key);
|
||||
foreach ($fields as $key) {
|
||||
if (isset($data[$key])) {
|
||||
$map[$key] = ['=', $data[$key]];
|
||||
}
|
||||
}
|
||||
} elseif (isset($data[$field])) {
|
||||
$map[$key] = ['=', $data[$field]];
|
||||
} else {
|
||||
$map = [];
|
||||
}
|
||||
|
||||
$pk = !empty($rule[3]) ? $rule[3] : $db->getPk();
|
||||
|
||||
if (is_string($pk)) {
|
||||
if (isset($rule[2])) {
|
||||
$map[$pk] = ['neq', $rule[2]];
|
||||
} elseif (isset($data[$pk])) {
|
||||
$map[$pk] = ['neq', $data[$pk]];
|
||||
}
|
||||
}
|
||||
|
||||
if ($db->where($map)->field($pk)->find()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user