Files
addons
app_download_files
extend
hyhproject
admin
app
common
home
behavior
common
conf
controller
model
validate
Goods.php
Shops.php
view
home2
mobile2
wechat2
.htaccess
command.php
mobile
oss
static
thinkphp
upload
vendor
wxtmp
.gitignore
.htaccess
.user.ini
404.html
H5B854518.wgt
admin.php
app-release.apk
app_download.html
cash.lock
demo.php
get_startup.php
get_version.php
get_version_new.php
index.html
index.php
reg.lock
robots.txt
qlg.tsgz.moe/hyhproject/home/validate/Goods.php
2019-09-06 23:53:10 +08:00

97 lines
4.2 KiB
PHP
Executable File

<?php
namespace wstmart\home\validate;
use think\Validate;
/**
* ============================================================================
* 商品验证器
*/
class Goods extends Validate{
protected $rule = [
['goodsName' ,'require|max:300','请输入商品名称|商品名称不能超过100个字符'],
['goodsImg' ,'require','请上传商品图片'],
['goodsType' ,'in:,0,1','无效的商品类型'],
['goodsSn' ,'checkGoodsSn:1','请输入商品编号'],
['productNo' ,'checkProductNo:1','请输入商品货号'],
['marketPrice' ,'checkMarketPrice:1','请输入市场价格'],
['shopPrice' ,'checkShopPrice:1','请输入店铺价格'],
['goodsUnit' ,'require','请输入商品单位'],
['isSale' ,'in:,0,1','无效的上架状态'],
['isRecom' ,'in:,0,1','无效的推荐状态'],
['isBest' ,'in:,0,1','无效的精品状态'],
['isNew' ,'in:,0,1','无效的新品状态'],
['isHot' ,'in:,0,1','无效的热销状态'],
['isFreeShipping','in:,0,1','无效的包邮状态'],
['goodsCatId' ,'require','请选择完整商品分类'],
['goodsDesc','require','请输入商品描述'],
['specsIds','checkSpecsIds:1','请填写完整商品规格信息']
];
/**
* 检测商品编号
*/
protected function checkGoodsSn($value){
$goodsId = Input('post.goodsId/d',0);
$key = Input('post.goodsSn');
if($key=='')return '请输入商品编号';
$isChk = model('Goods')->checkExistGoodsKey('goodsSn',$key,$goodsId);
if($isChk)return '对不起,该商品编号已存在';
return true;
}
/**
* 检测商品货号
*/
protected function checkProductNo($value){
$goodsId = Input('post.goodsId/d',0);
$key = Input('post.productNo');
if($key=='')return '请输入商品货号';
$isChk = model('Goods')->checkExistGoodsKey('productNo',$key,$goodsId);
if($isChk)return '对不起,该商品货号已存在';
return true;
}
/**
* 检测价格
*/
public function checkMarketPrice(){
$marketPrice = floatval(input('post.marketPrice'));
if($marketPrice<0.01)return '市场价格不能小于0.01';
return true;
}
public function checkShopPrice(){
$shopPrice = floatval(input('post.shopPrice'));
if($shopPrice<0.01)return '店铺价格不能小于0.01';
return true;
}
/**
* 检测商品规格是否填写完整
*/
public function checkSpecsIds(){
$specsIds = input('post.specsIds');
if($specsIds!=''){
$str = explode(',',$specsIds);
$specsIds = [];
foreach ($str as $v){
$vs = explode('-',$v);
foreach ($vs as $vv){
if(!in_array($vv,$specsIds))$specsIds[] = $vv;
}
}
//检测规格名称是否填写完整
foreach ($specsIds as $v){
if(input('post.specName_'.$v)=='')return '请填写完整商品规格值';
}
//检测销售规格是否完整
foreach ($str as $v){
if(input('post.productNo_'.$v)=='')return '请填写完整商品销售规格-货号';
if(input('post.marketPrice_'.$v)=='')return '请填写完整商品销售规格-市场价';
if(floatval(input('post.marketPrice_'.$v))<0.01)return '商品销售规格-市场价不能小于0.01';
if(input('post.specPrice_'.$v)=='')return '请填写完整商品销售规格-本店价';
if(floatval(input('post.specPrice_'.$v))<0.01)return '商品销售规格-本店价不能小于0.01';
if(input('post.specStock_'.$v)=='')return '请填写完整商品销售规格-库存';
if(intval(input('post.specStock_'.$v))<0)return '商品销售规格-库存不能小于0';
if(input('post.warnStock_'.$v)=='')return '请填写完整商品销售规格-预警库存';
if(intval(input('post.warnStock_'.$v))<0)return '商品销售规格-预警库存不能小于0';
}
if(input('post.defaultSpec')=='')return '请选择推荐规格';
}
return true;
}
}