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