From 0c29dc2d423a5cdd3e15f563344967552ed56c4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E6=99=AF=E7=AB=8B?= Date: Fri, 21 Mar 2025 18:06:36 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=20=E4=BF=AE=E6=94=B9=E5=88=AB?= =?UTF-8?q?=E5=90=8D=E6=97=B6=E7=9A=84=20info=20=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/helper/ValidateHelper.php | 30 ++++++++++--------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/plugin/think-library/src/helper/ValidateHelper.php b/plugin/think-library/src/helper/ValidateHelper.php index 494b4d827..46a4b12ae 100644 --- a/plugin/think-library/src/helper/ValidateHelper.php +++ b/plugin/think-library/src/helper/ValidateHelper.php @@ -50,20 +50,22 @@ class ValidateHelper extends Helper $input = $this->app->request->$type(); } [$data, $rule, $info] = [[], [], []]; - foreach ($rules as $name => $message) if (is_numeric($name)) { - [$name, $alias] = explode('#', $message . '#'); - $data[$name] = $input[($alias ?: $name)] ?? null; - } elseif (strpos($name, '.') === false) { - $data[$name] = $message; - } elseif (preg_match('|^(.*?)\.(.*?)#(.*?)#?$|', $name . '#', $matches)) { - [, $_key, $_rule, $alias] = $matches; - if (in_array($_rule, ['value', 'default'])) { - if ($_rule === 'value') $data[$_key] = $message; - elseif ($_rule === 'default') $data[$_key] = $input[($alias ?: $_key)] ?? $message; - } else { - $info[explode(':', $name)[0]] = $message; - $data[$_key] = $data[$_key] ?? ($input[($alias ?: $_key)] ?? null); - $rule[$_key] = isset($rule[$_key]) ? ($rule[$_key] . '|' . $_rule) : $_rule; + foreach ($rules as $name => $message) { + if (is_numeric($name)) { + [$name, $alias] = explode('#', $message . '#'); + $data[$name] = $input[$alias ?: $name] ?? null; + } elseif (strpos($name, '.') === false) { + $data[$name] = $message; + } elseif (preg_match('|^(.*?)\.(.*?)#(.*?)#?$|', $name . '#', $matches)) { + [, $_key, $_rule, $alias] = $matches; + if (in_array($_rule, ['value', 'default'])) { + if ($_rule === 'value') $data[$_key] = $message; + elseif ($_rule === 'default') $data[$_key] = $input[$alias ?: $_key] ?? $message; + } else { + $info[explode(':', $_key . '.' . $_rule)[0]] = $message; + $data[$_key] = $data[$_key] ?? ($input[$alias ?: $_key] ?? null); + $rule[$_key] = isset($rule[$_key]) ? $rule[$_key] . '|' . $_rule : $_rule; + } } } $validate = new Validate();