field가 array 입니다.\n" . var_export($field, true)); } switch ($field) { case "name": case "role": $rule = "required|trim|string"; break; case "email": $rule = "if_exist|trim|valid_email"; $rule .= in_array($action, ["create", "create_form"]) ? "|is_unique[{$this->table}.{$field}]" : ""; break; case "account_balance": case "coupon_balance": case "point_balance": $rule = "if_exist|numeric"; break; default: $rule = parent::getFormFieldRule($action, $field); break; } return $rule; } //List 검색용 public function setList_WordFilter(string $word): void { $this->orLike(self::TABLE . '.email', $word, 'both'); parent::setList_WordFilter($word); } public function create(array $formDatas, mixed $entity): mixed { $entity = parent::create($formDatas, $entity); $code = 'C' . str_pad($entity->getPK(), 4, '0', STR_PAD_LEFT); $this->update($entity->getPK(), ['code' => $code]); return $entity; } }