Fields.php 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <?php
  2. namespace app\admin\validate\cms;
  3. use think\Validate;
  4. class Fields extends Validate
  5. {
  6. /**
  7. * 验证规则
  8. */
  9. protected $rule = [
  10. 'name|名称' => 'require|unique:cms_fields,source^source_id^name',
  11. 'title|管理员' => 'require',
  12. 'source|来源' => 'require',
  13. 'source_id|来源ID' => 'require|integer',
  14. 'status|状态' => 'require|in:normal,hidden',
  15. ];
  16. /**
  17. * 提示消息
  18. */
  19. protected $message = [
  20. ];
  21. /**
  22. * 验证场景
  23. */
  24. protected $scene = [
  25. 'add' => [
  26. 'name',
  27. 'title',
  28. 'source',
  29. 'source_id',
  30. 'status'
  31. ],
  32. 'edit' => [
  33. 'name',
  34. 'title',
  35. 'source',
  36. 'source_id',
  37. 'status'
  38. ],
  39. ];
  40. public function __construct(array $rules = array(), $message = array(), $field = array())
  41. {
  42. //如果是编辑模式,则排除下主键
  43. $ids = request()->param("ids");
  44. if ($ids) {
  45. $this->rule['name|名称'] = "require|unique:cms_fields,source^source_id^name,{$ids},id";
  46. } else {
  47. $this->rule['name|名称'] = "require|unique:cms_fields,source^source_id^name";
  48. }
  49. parent::__construct($rules, $message, $field);
  50. }
  51. }