默认情况下将属性设置为不安全

时间:2014-09-30 09:28:47

标签: yii model attributes default

我有一个包含以下内容的模型

public function rules()
{
    return array(
        array('attr1, attr2, attr3, attr4, attr5', 'length'),

        // Search Scenario
        array('attr1, attr2, attr3, attr4, attr5', 'safe', 'on'=>'search'),

        // Scenario x
        array('attr1, attr2, attr3', 'safe', 'on' => 'x'),
        //array('attr1, attr2, attr3', 'unsafe', 'on' => 'y'),

        // Scenario y
        array('attr4, attr5', 'safe', 'on' => 'y'),
        //array('attr4, attr5', 'unsafe', 'on' => 'x'),
    );
}

当我在方案x上尝试主动分配时,它不会拒绝不安全的属性(attr4attr5),除非我取消注释不安全的规则。

默认情况下是否可以将所有属性设置为不安全?

1 个答案:

答案 0 :(得分:2)

将此规则拆分为两个:

    array('attr1, attr2, attr3, attr4, attr5', 'length'),

成:

    array('attr1, attr2, attr3', 'length'),
    array('attr4, attr5', 'length', 'on' => 'y'),

删除这些当前规则(不需要):

    array('attr1, attr2, attr3', 'safe', 'on' => 'x'),
    array('attr4, attr5', 'safe', 'on' => 'y'),