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();