1.提交缺失的东西
This commit is contained in:
@ -51,20 +51,18 @@ class GoodsController extends BaseAdminController
|
||||
*/
|
||||
public function add()
|
||||
{
|
||||
if ($this->request->isAjax() && $this->request->isPost()) {
|
||||
|
||||
$post = $this->request->post();
|
||||
$post['del'] = 0;
|
||||
|
||||
//主表验证
|
||||
$result = $this->validate($post, 'app\admin\validate\Goods.add');
|
||||
$result = $this->validate($post, 'app\admin\validate\GoodsValidate.add');
|
||||
if ($result !== true) {
|
||||
return $this->fail($result);
|
||||
}
|
||||
|
||||
//单规格验证
|
||||
if ($post['spec_type'] == 1) {
|
||||
$result = $this->validate($post, 'app\admin\validate\GoodsOneSpec');
|
||||
$result = $this->validate($post, 'app\admin\validate\GoodsOneSpecValidate');
|
||||
if ($result !== true) {
|
||||
return $this->fail($result);
|
||||
}
|
||||
@ -96,14 +94,14 @@ class GoodsController extends BaseAdminController
|
||||
if (empty($spec_lists)) {
|
||||
return $this->fail('至少添加一个规格');
|
||||
}
|
||||
$result = $this->validate($post, 'app\admin\validate\GoodsMoreSpec');
|
||||
$result = $this->validate($post, 'app\admin\validate\GoodsMoreSpecValidate');
|
||||
if ($result !== true) {
|
||||
return $this->fail($result);
|
||||
}
|
||||
|
||||
//规格商品列表验证
|
||||
foreach ($spec_lists as $v) {
|
||||
$result = $this->validate($v, 'app\admin\validate\GoodsMoreSpecLists');
|
||||
$result = $this->validate($v, 'app\admin\validate\GoodsMoreSpecListsValidate');
|
||||
if ($result !== true) {
|
||||
return $this->fail($result);
|
||||
}
|
||||
@ -122,7 +120,7 @@ class GoodsController extends BaseAdminController
|
||||
return $this->fail('添加失败:' . $result);
|
||||
}
|
||||
return $this->success('添加成功');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
52
app/adminapi/validate/GoodsMoreSpecListsValidate.php
Normal file
52
app/adminapi/validate/GoodsMoreSpecListsValidate.php
Normal file
@ -0,0 +1,52 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | likeshop开源商城系统
|
||||
// +----------------------------------------------------------------------
|
||||
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
|
||||
// | gitee下载:https://gitee.com/likeshop_gitee
|
||||
// | github下载:https://github.com/likeshop-github
|
||||
// | 访问官网:https://www.likeshop.cn
|
||||
// | 访问社区:https://home.likeshop.cn
|
||||
// | 访问手册:http://doc.likeshop.cn
|
||||
// | 微信公众号:likeshop技术社区
|
||||
// | likeshop系列产品在gitee、github等公开渠道开源版本可免费商用,未经许可不能去除前后端官方版权标识
|
||||
// | likeshop系列产品收费版本务必购买商业授权,购买去版权授权后,方可去除前后端官方版权标识
|
||||
// | 禁止对系统程序代码以任何目的,任何形式的再发布
|
||||
// | likeshop团队版权所有并拥有最终解释权
|
||||
// +----------------------------------------------------------------------
|
||||
// | author: likeshop.cn.team
|
||||
// +----------------------------------------------------------------------
|
||||
namespace app\adminapi\validate;
|
||||
|
||||
|
||||
use think\Validate;
|
||||
|
||||
class GoodsMoreSpecListsValidate extends Validate
|
||||
{
|
||||
protected $rule = [
|
||||
'market_price' => 'egt:0',
|
||||
'price' => 'require|egt:0.01',
|
||||
'cost_price' => 'require|egt:0.01',
|
||||
'stock' => 'require|integer|egt:0',
|
||||
'weight' => 'egt:0',
|
||||
'volume' => 'egt:0',
|
||||
];
|
||||
|
||||
protected $message = [
|
||||
'volume.require' => '请输入体积',
|
||||
'volume.egt' => '体积必须大于或等于0',
|
||||
'weight.require' => '请输入重量',
|
||||
'weight.egt' => '重量必须大于或等于0',
|
||||
// 'market_price.require' => '请输入市场价',
|
||||
'market_price.egt' => '市场价不能小于0',
|
||||
'price.require' => '请输入价格',
|
||||
'price.egt' => '价格必须大于或等于0.01',
|
||||
'cost_price.require' => '请输入成本价',
|
||||
'cost_price.egt' => '成本价必须大于或等于0.01',
|
||||
'stock.require' => '请输入库存',
|
||||
'stock.integer' => '库存必须为整数',
|
||||
'stock.egt' => '库存必须大于或等于0',
|
||||
];
|
||||
|
||||
|
||||
}
|
||||
61
app/adminapi/validate/GoodsMoreSpecValidate.php
Normal file
61
app/adminapi/validate/GoodsMoreSpecValidate.php
Normal file
@ -0,0 +1,61 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | likeshop开源商城系统
|
||||
// +----------------------------------------------------------------------
|
||||
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
|
||||
// | gitee下载:https://gitee.com/likeshop_gitee
|
||||
// | github下载:https://github.com/likeshop-github
|
||||
// | 访问官网:https://www.likeshop.cn
|
||||
// | 访问社区:https://home.likeshop.cn
|
||||
// | 访问手册:http://doc.likeshop.cn
|
||||
// | 微信公众号:likeshop技术社区
|
||||
// | likeshop系列产品在gitee、github等公开渠道开源版本可免费商用,未经许可不能去除前后端官方版权标识
|
||||
// | likeshop系列产品收费版本务必购买商业授权,购买去版权授权后,方可去除前后端官方版权标识
|
||||
// | 禁止对系统程序代码以任何目的,任何形式的再发布
|
||||
// | likeshop团队版权所有并拥有最终解释权
|
||||
// +----------------------------------------------------------------------
|
||||
// | author: likeshop.cn.team
|
||||
// +----------------------------------------------------------------------
|
||||
namespace app\adminapi\validate;
|
||||
|
||||
|
||||
use think\Validate;
|
||||
|
||||
class GoodsMoreSpecValidate extends Validate
|
||||
{
|
||||
protected $rule = [
|
||||
'spec_name' => 'require|array|specNameRepetition',
|
||||
'spec_values' => 'require|array|specValueRepetition',
|
||||
];
|
||||
|
||||
protected $message = [
|
||||
|
||||
];
|
||||
|
||||
/**
|
||||
* 检测规格名称是否重复
|
||||
* @param $value
|
||||
* @param $rule
|
||||
* @param $data
|
||||
* @return bool|string
|
||||
*/
|
||||
public function specNameRepetition($value, $rule, $data)
|
||||
{
|
||||
if (count($value) != count(array_unique($value))) {
|
||||
return '规格名称重复';
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public function specValueRepetition($value, $rule, $data)
|
||||
{
|
||||
foreach ($value as $k => $v) {
|
||||
$row = explode(',', $v);
|
||||
if (count($row) != count(array_unique($row))) {
|
||||
return '同一规格的规格值不能重复';
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
52
app/adminapi/validate/GoodsOneSpecValidate.php
Normal file
52
app/adminapi/validate/GoodsOneSpecValidate.php
Normal file
@ -0,0 +1,52 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | likeshop开源商城系统
|
||||
// +----------------------------------------------------------------------
|
||||
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
|
||||
// | gitee下载:https://gitee.com/likeshop_gitee
|
||||
// | github下载:https://github.com/likeshop-github
|
||||
// | 访问官网:https://www.likeshop.cn
|
||||
// | 访问社区:https://home.likeshop.cn
|
||||
// | 访问手册:http://doc.likeshop.cn
|
||||
// | 微信公众号:likeshop技术社区
|
||||
// | likeshop系列产品在gitee、github等公开渠道开源版本可免费商用,未经许可不能去除前后端官方版权标识
|
||||
// | likeshop系列产品收费版本务必购买商业授权,购买去版权授权后,方可去除前后端官方版权标识
|
||||
// | 禁止对系统程序代码以任何目的,任何形式的再发布
|
||||
// | likeshop团队版权所有并拥有最终解释权
|
||||
// +----------------------------------------------------------------------
|
||||
// | author: likeshop.cn.team
|
||||
// +----------------------------------------------------------------------
|
||||
namespace app\adminapi\validate;
|
||||
|
||||
|
||||
use think\Validate;
|
||||
|
||||
class GoodsOneSpecValidate extends Validate
|
||||
{
|
||||
protected $rule = [
|
||||
'one_market_price' => 'egt:0',
|
||||
'one_price' => 'require|egt:0.01',
|
||||
'one_cost_price' => 'require|egt:0.01',
|
||||
'one_stock' => 'require|integer|gt:0',
|
||||
'one_volume' => 'egt:0',
|
||||
'one_weight' => 'egt:0',
|
||||
];
|
||||
|
||||
protected $message = [
|
||||
'one_volume.require' => '请输入体积',
|
||||
'one_volume.egt' => '体积必须为大于或等于0',
|
||||
'one_weight.require' => '请输入重量',
|
||||
'one_weight.egt' => '重量必须为大于或等于0',
|
||||
// 'one_market_price.require' => '请输入市场价',
|
||||
'one_market_price.egt' => '市场价不能小于0',
|
||||
'one_price.require' => '请输入价格',
|
||||
'one_price.egt' => '价格必须大于或等于0.01',
|
||||
'one_cost_price.require' => '请输入成本价',
|
||||
'one_cost_price.egt' => '成本价必须大于或等于0.01',
|
||||
'one_stock.require' => '请输入库存',
|
||||
'one_stock.integer' => '库存必须为整型',
|
||||
'one_stock.gt' => '库存必须大于零',
|
||||
];
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user