我编写了自己的规则,必须验证数组:
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。抱歉我的英语不好。
答案 0 :(得分:4)
您需要更改以下代码:
['hashtags', 'arrayValidation','params'=>['min' => 0, 'max' => 3]],
为了将params
传递给自定义验证器,您应该像上面那样编写它。