From 87d544f331c4f79d5034e4928d1122d26290b12e Mon Sep 17 00:00:00 2001 From: thinkphp Date: Mon, 23 May 2016 18:22:18 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E8=BF=9BValidate=E7=B1=BB=E7=9A=84uni?= =?UTF-8?q?que=E8=A7=84=E5=88=99=20=E6=94=AF=E6=8C=81=E9=AA=8C=E8=AF=81?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E5=92=8C=E6=95=B0=E6=8D=AE=E8=A1=A8=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=20=E5=88=86=E5=BC=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- library/think/Validate.php | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/library/think/Validate.php b/library/think/Validate.php index 69b1778d..e9e532cc 100644 --- a/library/think/Validate.php +++ b/library/think/Validate.php @@ -696,29 +696,29 @@ class Validate if (is_string($rule)) { $rule = explode(',', $rule); } - $db = Db::name($rule[0]); - $field = isset($rule[1]) ? $rule[1] : $field; + $db = Db::name($rule[0]); + $key = isset($rule[1]) ? $rule[1] : $field; - if (strpos($field, '^')) { + if (strpos($key, '^')) { // 支持多个字段验证 - $fields = explode('^', $field); - foreach ($fields as $field) { - $map[$field] = $data[$field]; + $fields = explode('^', $key); + foreach ($fields as $key) { + $map[$key] = $data[$key]; } - } elseif (strpos($field, '=')) { - parse_str($field, $map); + } elseif (strpos($key, '=')) { + parse_str($key, $map); } else { - $map[$field] = $data[$field]; + $map[$key] = $data[$field]; } - $key = strval(isset($rule[3]) ? $rule[3] : $db->getPk()); + $pk = strval(isset($rule[3]) ? $rule[3] : $db->getPk()); if (isset($rule[2])) { - $map[$key] = ['neq', $rule[2]]; - } elseif (isset($data[$key])) { - $map[$key] = ['neq', $data[$key]]; + $map[$pk] = ['neq', $rule[2]]; + } elseif (isset($data[$pk])) { + $map[$pk] = ['neq', $data[$pk]]; } - if ($db->where($map)->field($key)->find()) { + if ($db->where($map)->field($pk)->find()) { return false; } return true;