【问题标题】:Set attributes to be unsafe by default将属性默认设置为不安全
【发布时间】:2014-09-30 09:28:47
【问题描述】:

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

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),除非我取消注释不安全规则。

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

【问题讨论】:

    标签: yii model attributes default


    【解决方案1】:

    将此规则一分为二:

        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'),
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-04
      • 2010-10-16
      • 1970-01-01
      • 2023-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多