THINKPHP_動態驗證validate()

$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數組

正則驗證,定義的驗證規則是一個正則表達式(默認)函數

functionpost

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

callbackthis

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

confirmip

驗證表單中的兩個字段是否相同,定義的驗證規則是一個字段名ci

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不可用於判斷主鍵字段自己

相關文章
相關標籤/搜索