Merge pull request #587 from lilwil/master

验证字段比较支持对比其他字段
This commit is contained in:
ThinkPHP
2017-03-21 01:28:48 -05:00
committed by GitHub

View File

@@ -456,11 +456,12 @@ class Validate
* @access protected * @access protected
* @param mixed $value 字段值 * @param mixed $value 字段值
* @param mixed $rule 验证规则 * @param mixed $rule 验证规则
* @param array $data 数据
* @return bool * @return bool
*/ */
protected function egt($value, $rule) protected function egt($value, $rule, $data)
{ {
return $value >= $rule; return !is_null($this->getDataValue($data, $rule)) && $value >= $this->getDataValue($data, $rule);
} }
/** /**
@@ -468,11 +469,12 @@ class Validate
* @access protected * @access protected
* @param mixed $value 字段值 * @param mixed $value 字段值
* @param mixed $rule 验证规则 * @param mixed $rule 验证规则
* @param array $data 数据
* @return bool * @return bool
*/ */
protected function gt($value, $rule) protected function gt($value, $rule, $data)
{ {
return $value > $rule; return !is_null($this->getDataValue($data, $rule)) && $value > $this->getDataValue($data, $rule);
} }
/** /**
@@ -480,11 +482,12 @@ class Validate
* @access protected * @access protected
* @param mixed $value 字段值 * @param mixed $value 字段值
* @param mixed $rule 验证规则 * @param mixed $rule 验证规则
* @param array $data 数据
* @return bool * @return bool
*/ */
protected function elt($value, $rule) protected function elt($value, $rule, $data)
{ {
return $value <= $rule; return !is_null($this->getDataValue($data, $rule)) && $value <= $this->getDataValue($data, $rule);
} }
/** /**
@@ -492,11 +495,12 @@ class Validate
* @access protected * @access protected
* @param mixed $value 字段值 * @param mixed $value 字段值
* @param mixed $rule 验证规则 * @param mixed $rule 验证规则
* @param array $data 数据
* @return bool * @return bool
*/ */
protected function lt($value, $rule) protected function lt($value, $rule, $data)
{ {
return $value < $rule; return !is_null($this->getDataValue($data, $rule)) && $value < $this->getDataValue($data, $rule);
} }
/** /**
@@ -1175,13 +1179,13 @@ class Validate
public function getError() public function getError()
{ {
return $this->error; return $this->error;
} }
/** /**
* 获取数据值 * 获取数据值
* @access protected * @access protected
* @param array $data 数据 * @param array $data 数据
* @param string $key 数据标识 支持二维 * @param string $key 数据标识 支持二维
* @return mixed * @return mixed
*/ */
protected function getDataValue($data, $key) protected function getDataValue($data, $key)
@@ -1189,11 +1193,11 @@ class Validate
if (strpos($key, '.')) { if (strpos($key, '.')) {
// 支持二维数组验证 // 支持二维数组验证
list($name1, $name2) = explode('.', $key); list($name1, $name2) = explode('.', $key);
$value = isset($data[$name1][$name2]) ? $data[$name1][$name2] : null; $value = isset($data[$name1][$name2]) ? $data[$name1][$name2] : null;
} else { } else {
$value = isset($data[$key]) ? $data[$key] : null; $value = is_numeric($key) ? $key : (isset($data[$key]) ? $data[$key] : null);
} }
return $value; return $value;
} }
/** /**