Prb与内联验证器yii2

时间:2014-12-13 11:38:37

标签: yii2

我编写了自己的规则,必须验证数组:

public function arrayValidation($attribute, $params)
{
    (is_array($this -> $attribute)
        && isset($params['min']) ? count($this -> $attribute) >= $params['min'] : true
        && isset($params['max']) ? count($this -> $attribute) <= $params['max'] : true)

    ? NULL : $this -> addError($attribute, "$attribute must be array.");
}

并在规则函数上使用它:

 ['hashtags', 'arrayValidation', 'min' => 0, 'max' => 3],

但yii2抱怨

  

未知属性 - yii \ base \ UnknownPropertyException

设置未知属性:yii \ validators \ InlineValidator :: min

P.S。抱歉我的英语不好。

1 个答案:

答案 0 :(得分:4)

您需要更改以下代码:

['hashtags', 'arrayValidation','params'=>['min' => 0, 'max' => 3]],

为了将params传递给自定义验证器,您应该像上面那样编写它。