THINKPHP_動態驗證validate()

來源:互聯網
上載者:User

標籤:style   使用   os   io   strong   資料   ar   cti   

$data=I(‘post.‘,‘‘,‘trim‘);
$rules = array(
     array(‘name‘,‘‘,‘資料名稱已存在‘,0,‘unique‘,1),
     //array(驗證欄位1,驗證規則,錯誤提示,[驗證條件,附加規則,驗證時間]),
     array(‘verify‘,‘require‘,‘驗證碼必須!‘), //預設情況下用正則進行驗證
     array(‘name‘,‘‘,‘帳號名稱已經存在!‘,0,‘unique‘,1), // 在新增的時候驗證name欄位是否唯一
     array(‘value‘,array(1,2,3),‘值的範圍不正確!‘,2,‘in‘), // 當值不為空白的時候判斷是否在一個範圍內
     array(‘repassword‘,‘password‘,‘確認密碼不正確‘,0,‘confirm‘), // 驗證確認密碼是否和密碼一致
     array(‘password‘,‘checkPwd‘,‘密碼格式不正確‘,0,‘function‘), // 自訂函數驗證密碼格式
);
if(!M(‘data‘)->validate($rules)->create($data)){
    $this->error(M(‘data‘)->getError());

 

驗證規則列表:

regex

正則驗證,定義的驗證規則是一個Regex(預設)

function

函數驗證,定義的驗證規則是一個函數名

callback

方法驗證,定義的驗證規則是當前模型類的一個方法

confirm

驗證表單中的兩個欄位是否相同,定義的驗證規則是一個欄位名

equal

驗證是否等於某個值,該值由前面的驗證規則定義

notequal

驗證是否不等於某個值,該值由前面的驗證規則定義(3.1.2版本新增)

in

驗證是否在某個範圍內,定義的驗證規則可以是一個數組或者逗號分割的字串

notin

驗證是否不在某個範圍內,定義的驗證規則可以是一個數組或者逗號分割的字串(3.1.2版本新增)

length

驗證長度,定義的驗證規則可以是一個數字(表示固定長度)或者數字範圍(例如3,12 表示長度從3到12的範圍)

between

驗證範圍,定義的驗證規則表示範圍,可以使用字串或者數組,例如1,31或者array(1,31)

notbetween

驗證不在某個範圍,定義的驗證規則表示範圍,可以使用字串或者數組(3.1.2版本新增)

expire

驗證是否在有效期間,定義的驗證規則表示時間範圍,可以到時間,例如可以使用 2012-1-15,2013-1-15 表示當前提交有效期間在2012-1-15到2013-1-15之間,也可以使用時間戳定義

ip_allow

驗證IP是否允許,定義的驗證規則表示允許的IP地址清單,用逗號分隔,例如201.12.2.5,201.12.2.6

ip_deny

驗證IP是否禁止,定義的驗證規則表示禁止的ip地址清單,用逗號分隔,例如201.12.2.5,201.12.2.6

unique

驗證是否唯一,系統會根據欄位目前的值查詢資料庫來判斷是否存在相同的值,當表單資料中包含主鍵欄位時unique不可用於判斷主鍵欄位本身

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.