Commit f1ce0e16 by Qiang Xue

Fixes issue #428 Allowing UniqueValidator to be used with non-AR models.

parent 458615f8
...@@ -9,6 +9,7 @@ namespace yii\validators; ...@@ -9,6 +9,7 @@ namespace yii\validators;
use Yii; use Yii;
use yii\base\InvalidConfigException; use yii\base\InvalidConfigException;
use yii\db\ActiveRecord;
/** /**
* CUniqueValidator validates that the attribute value is unique in the corresponding database table. * CUniqueValidator validates that the attribute value is unique in the corresponding database table.
...@@ -71,7 +72,7 @@ class UniqueValidator extends Validator ...@@ -71,7 +72,7 @@ class UniqueValidator extends Validator
$query = $className::find(); $query = $className::find();
$query->where(array($column->name => $value)); $query->where(array($column->name => $value));
if ($object->getIsNewRecord()) { if (!$object instanceof ActiveRecord || $object->getIsNewRecord()) {
// if current $object isn't in the database yet then it's OK just to call exists() // if current $object isn't in the database yet then it's OK just to call exists()
$exists = $query->exists(); $exists = $query->exists();
} else { } else {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment