Yii中validator之safe用法_PHP教程

來源:互聯網
上載者:User

Yii中validator之safe用法


在開始使用yii的時候,一直對校正規則中的safe不是很理解,今天測試了一下,算是搞清楚了safe的內涵。一直以為safe就是架構會對輸入的內容進行過濾,比如sql注入之類的filter,其實並不是的,safe or unsafe的不同主要是在於$model->attributes=$_POST['User']; 這種賦值的方式在yii中叫批量複製(Massive Assignment),當model中全部的屬性都是safe的時候,表單提交的$_POST['User']的值可以全部賦給$model->attributes,然後再save進入資料庫。但是一旦有一個屬性沒有設定為safe,比如username,當修改了使用者名稱後提交,你會發現使用者名稱的值是沒有更新到的,因為username是unsafe的,所以Massive Assignment中無法把新的username的值賦給model。

下面是大師的解釋:

safe attributes指的是由使用者輸入的、需要驗證的屬性。如果一個屬性出現在一個驗證規則裡,並且該驗證規則的適用scenario和model當前的scenario一致,那麼該屬性就是safe的,可以接受批量賦值。在yii 1.1裡,safeAttributes()函數已經取消了。所有的屬性都通過驗證規則來聲明是否safe。

具體可以參看:http://www.yiiframework.com/wiki/161/understanding-safe-validation-rules/

您可能感興趣的文章

  • Yii架構Yiiapp()的理解
  • yii架構如何配置預設controller與action
  • Yii中的資料庫事務的使用方法小結
  • Yii framework架構之模組開發分析
  • Yii rules常用驗證規則備忘
  • 將yii對象結果轉為數組的方法
  • yii 資料庫添加,修改,刪除相關操作總結
  • Yii控制器動作參數綁定處理

http://www.bkjia.com/PHPjc/1056390.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1056390.htmlTechArticleYii中validator之safe用法 在開始使用yii的時候,一直對校正規則中的safe不是很理解,今天測試了一下,算是搞清楚了safe的內涵。一直以為sa...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.