YII2 存在带过滤器的验证器

YII2 exists validator with filter

我的模型规则如下所示

 public function rules()
{
    return [
        ['default', 'boolean'],
        ['default', 'exist', 'targetAttribute' => 'default', 'filter' => ['default' => 1], 'message' => 'Cock'],
        ['length', 'integer'],
        ['length', 'unique'],
    ];
}

我试图确保只有一条记录可以将模型属性 'default' 设置为 'true'。它们可以都是假的,但如果有意义的话,最多只能将一个设置为真。

我做错了什么?

谢谢

[Class yii\validators\ExistValidator][1]

     public function rules()
{
    return [
        ['default', 'boolean'],
        ['default', 'exist', 'targetClass' => '\common\models\Where?SearchModel', 'targetAttribute' => 'default', 'filter' => ['default' => 1], 'message' => 'Cock'],
        ['length', 'integer'],
        ['length', 'unique'],
    ];
}

如果ExistValidator帮不上忙,可以试试语句。

if (Model::find()->where((['default' => $model->default)->existes()){

}