thinkphp-自動驗證

來源:互聯網
上載者:User

標籤:127.0.0.1   conf   user   自己   有效期間   設定   pat   ted   使用者名稱   

      Home或Home2\Controller  編輯下的

/* //靜態驗證
//自動驗證
$user=D(‘Sks‘);
$data[‘name‘]=‘1234‘;
$data[‘pass‘]=‘xxx‘;
//$data[‘name2‘]=‘xxx‘;
if($user->create($data)){

echo ‘<br>‘;
echo ‘所有資料成功‘;
}
else{
//輸出錯誤資訊

echo ‘<br>‘;
echo ‘<pre>‘;
var_dump($user->getError());
echo ‘</pre>‘;
}
*/


/*//動態驗證
$rules=array(
array(‘name‘,‘require‘,‘使用者名稱不得為空白‘),
);
$user=M(‘Sks‘);
$data[‘name‘]=‘1234‘;
if($user->validate($rules)->create($data)){

echo ‘<br>‘;
echo ‘所有資料成功‘;
}
else{
//輸出錯誤資訊

echo ‘<br>‘;
echo ‘<pre>‘;
var_dump($user->getError());
echo ‘</pre>‘;
}
*/

 

 

 

      Home或Home2\Model  下的

protected $patchValidate=true;
//原本如果有多個錯誤,只顯示一個,但這個會令其都顯示
protected $_validate=array(
//欄位名,驗證規則,錯誤提示,驗證條件,附加規則,驗證時間

//array(‘name‘,‘require‘,‘使用者不得為空白‘,‘0‘,‘regex‘,‘3‘),

//name欄位,不得空,錯誤提示:上,(存在欄位就驗證,附加規則,添加或修改時驗證)預設項

//array(‘name‘,‘email‘,‘郵箱‘),

//array(‘name‘,‘url‘,‘url‘),

//array(‘name‘,‘currency‘,‘貨幣‘),

//array(‘name‘,‘zip‘,‘郵遞區號‘),

//array(‘name‘,‘number‘,‘正整數‘),

//array(‘name‘,‘integer‘,‘整數‘),

//array(‘name‘,‘double‘,‘浮點數‘),

//array(‘name‘,‘english‘,‘純英語‘),


//附加規則-不用內建規則,自己定的規則

//array(‘name‘,‘/^\d{3,6}$/‘,‘3-6位元字‘,0,‘regex‘),
//驗證3-6位元

//array(‘name‘,‘xxx‘,‘值不相等‘,0,‘equal‘),
//驗證是否與指定值相等

//array(‘pass‘,‘xxx‘,‘值不能相等‘,0,‘notequal‘),
//驗證是否與指定值不相等

//array(‘name‘,‘name2‘,‘兩個使用者名稱不同‘,0,‘confirm‘),
//驗證兩個欄位是否相等

//array(‘name‘,array(1,2,3),‘不是指定值‘,0,‘in‘),
//array(‘name‘,‘張三,李四,王五‘,‘不是指定值‘,0,‘in‘),
//驗證數值是否是指定值

//array(‘name‘,array(1,3),‘不得是指定值‘,0,‘notin‘),
//array(‘name‘,‘張三,李四,王五‘,‘不得是指定值‘,0,‘notin‘),
//驗證數值是否不是指定值

//array(‘name‘,‘3‘,‘請輸入三位元‘,0,‘length‘),
//array(‘name‘,‘3,5‘,‘不得小於三位,不得大於五位‘,0,‘length‘),
//驗證數值的位元

//array(‘name‘,array(3,5),‘不在指定範圍內‘,0,‘between‘),
//array(‘name‘,‘3,5‘,‘不在指定範圍內‘,0,‘between‘),
//驗證數值的位元

//array(‘name‘,array(3,5),‘不得在指定範圍內‘,0,‘notbetween‘),
//array(‘name‘,‘3,5‘,‘不得在指定範圍內‘,0,‘notbetween‘),
//驗證數值的位元

//array(‘name‘,‘2017-4-10,2017-4-13‘,‘已到期‘,0,‘expire‘),
//設定有效期間範圍,必須是表單提交有效,可以是時間戳記

//array(‘name‘,‘192.168.0.10‘,‘當前ip被禁止‘,0,‘ip_deny‘),
//禁止ip訪問

//array(‘name‘,‘127.0.0.1‘,‘當前ip沒有被允許‘,0,‘ip_allow‘),
//只允許此ip訪問

//array(‘name‘,‘checkLength‘,‘使用者名稱必須為3-5位‘,0,‘callback‘,3,array(3,5)),
//使用回調形式

//array(‘name‘,‘checkLength‘,‘使用者名稱必須為3-5位‘,0,‘callback‘,3,array(3,5)),
//使用函數形式

);
/*//checkLength回調形式
protected function checkLength($str,$min,$max){
preg_match_all("/./u",$str,$matches);
$len=count($matches[0]);
if($len<$min || $len>$max){
return false;
}
else{
return true;
}
}
*/

 

thinkphp-自動驗證

聯繫我們

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