验证规则中传递多维数组

验证规则中传递多维数组

本文介绍了在 Yii2 验证规则中传递多维数组?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当你在模型中使用 Yii2 的验证规则时,例如:

When you are using Yii2's validation rules within a model, for example:

[['foo','bar'], 'integer],

显然 ['foo','bar'] 是一个数组,我知道你可以使用它.

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]

Yii2 会接受这个并检查正确的数据还是会因为 numbers 是一个数组而测试该值并返回错误?

Will Yii2 accept this and check the correct data or will it test the value and return an error because numbers is an array?

推荐答案

工作规则需要合并数组

You need merge arrays for work rules

[ArrayHelper::merge(['foo','bar'], $this->getNumberFields()), 'integer']

更新:

使用 each 规则.参见 EachValidator.

Use each rule. See EachValidator.

public function rules()
{
    return [
        ['numbers', 'each', 'rule' => ['integer']],
    ]
}

这篇关于在 Yii2 验证规则中传递多维数组?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-19 08:04