123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- <?php
- namespace App\Http\Requests\API\Config;
- class AllowSettingConfig
- {
- public function check(string $group, string $key, mixed $value)
- {
- if (! method_exists($this, $group)) {
- throw new \Exception(sprintf("%s configuration group is not supported", $group));
- }
- $groupRules = $this->$group();
- if (! isset($groupRules[$key])) {
- throw new \Exception(sprintf("The %s configuration field under the %s group is not supported", $key, $group));
- }
- $result = validator([$key => $value], [$key => $groupRules[$key]]);
- if ($result->fails()) {
- throw new \Exception($result->errors()->first());
- }
- }
- /**
- * email 字段验证
- *
- * @return string[]
- */
- private function email(): array
- {
- return [
- "email_notification" => "in:on,off",
- "async_sender" => "in:yes,no",
- "sender_email" => "nullable|email",
- "sender" => "nullable|min:1",
- "domain" => "nullable|url",
- "smtp_server" => "nullable|min:1",
- "smtp_account" => "nullable|min:1",
- "smtp_validation" => "in:yes,no",
- "smtp_port" => "nullable|numeric",
- "encryption" => "in:ssl,plain,tls",
- "smtp_password" => "nullable|min:6",
- "debug" => "in:off,normal,high",
- "charset" => "in:utf8,gbk"
- ];
- }
- }
|