123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- <?php
- namespace crmeb\form;
- abstract class BaseComponent
- {
-
- protected $init = false;
-
- protected $rule = [];
-
- protected $validate = [];
-
- protected $validataRule;
-
- protected function init()
- {
- if (!$this->init) {
- $this->validataRule = new CommonRule;
- $this->init = true;
- }
- }
-
- public function validates(array $validate)
- {
- $this->validate = $validate;
- return $this;
- }
-
- public function validate(CommonRule $validate)
- {
- $this->validate[] = $validate;
- return $this;
- }
-
- public function required()
- {
- $this->init();
- $this->validataRule->required();
- return $this;
- }
-
- public function message(string $message)
- {
- $this->init();
- $this->validataRule->message($message);
- return $this;
- }
-
- protected function before()
- {
- if (!$this->validate && $this->validataRule instanceof CommonRule) {
- if (!$this->validataRule->getMessage() && $this->rule['title']) {
- $this->validataRule->message('请输入' . $this->rule['title']);
- }
- $this->validate[] = $this->validataRule->toArray();
- }
- $validate = [];
- foreach ($this->validate as $item) {
- if ($item instanceof CommonRule) {
- $validate[] = $item->toArray();
- } else {
- $validate[] = $item;
- }
- }
- $this->rule['validate'] = $validate;
- }
- }
|