问题
When you are using Yii2's validation rules within a model, for example:
[['foo','bar'], 'integer],
Obviously ['foo','bar'] is an array, which I know you can use.
But can do pass a multi-dimensional array like this:
$this->numbers = [1,2,3];
[['foo','bar','numbers'], 'integer]
Will Yii2 accept this and check the correct data or will it test the value and return an error because numbers is an array?
回答1:
You need merge arrays for work rules
[ArrayHelper::merge(['foo','bar'], $this->getNumberFields()), 'integer']
Update:
Use each rule. See EachValidator.
public function rules()
{
return [
['numbers', 'each', 'rule' => ['integer']],
]
}
来源:https://stackoverflow.com/questions/32808190/passing-multi-dimensional-array-within-yii2-validation-rules