2014-12-13 46 views
1

我寫我自己的規則,它必須驗證的數組:PRB與在線驗證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.對不起,我的英語不好。

回答

4

您需要更改類似下面的代碼:

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

爲了通過params到自定義驗證,你應該把它寫像上面。