ShopGoods.php 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <?php
  2. namespace app\common\validate;
  3. use think\Db;
  4. use think\Validate;
  5. class ShopGoods extends Validate
  6. {
  7. /**
  8. * 定义验证规则
  9. * 格式:'字段名' => ['规则1','规则2'...]
  10. *
  11. * @var array
  12. */
  13. protected $rule = [
  14. 'title|商品名称' => 'require|length:1,20|checkUnique',
  15. 'price|商品价格' => 'require|gt:0',
  16. 'cate_id|商品分类' => 'require|gt:0',
  17. 'img|商品图片' => 'require',
  18. ];
  19. /**
  20. * 定义错误信息
  21. * 格式:'字段名.规则名' => '错误信息'
  22. *
  23. * @var array
  24. */
  25. protected $message = [
  26. 'cate_id.require'=>'商品分类不能为空',
  27. 'cate_id.gt'=>'商品分类不能为空'
  28. ];
  29. protected function checkUnique($value, $rule, $data=[]){
  30. if(isset($data['id']) && $data['id'] > 0){
  31. $ret = Db::name('shop_goods')
  32. ->where('del',0)
  33. ->where('title',$data['title'])
  34. ->where('org_id',$data['org_id'])
  35. ->where('id','<>',$data['id'])
  36. ->find();
  37. }else{
  38. $ret = Db::name('shop_goods')
  39. ->where('del',0)
  40. ->where('title',$data['title'])
  41. ->where('org_id',$data['org_id'])
  42. ->find();
  43. }
  44. return $ret?'名称已被使用':true;
  45. }
  46. }