程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> Yii中validator之safe用法

Yii中validator之safe用法

編輯:關於PHP編程

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控制器動作參數綁定處理

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved