Yii2如何为所有模型的属性创建规则(过滤器)?

时间:2018-01-29 01:15:37

标签: php yii2 yii2-model yii2-validation

对模型中的每个属性应用“trim”过滤器很无聊。任何想法Yii2都有类似的东西:

['*', 'filter', 'filter' => 'trim'],

2 个答案:

答案 0 :(得分:2)

据我所知,您必须指定属性才能以下列方式应用requiredfilter等核心验证器

[['attribute_1', 'attribute_2'], 'filter','filter' => 'trim'],

但看起来你很难在那里写下他们的所有名字,并希望自动为所有属性应用过滤器验证器,你需要使用php函数array_keys和{{1}如下所示

implode

希望它可以帮助你

答案 1 :(得分:0)

如果有人有更多有趣的想法,请写下来。

public function beforeSave($insert)
{
    foreach ($this->getDirtyAttributes() as $attName => $attValue) {
        if ($attValue && self::getTableSchema()->columns[$attName]->phpType == 'string') {
            $this->{$attName} = trim($attValue);
        }
    }
}