PHP中Yii框架之表單驗證規(guī)則
Yii是一個基于組件的高性能PHP框架,用于開發(fā)大型Web應(yīng)用。Yii采用嚴格的OOP編寫,并有著完善的庫引用以及全面的教程,本文給大家介紹php yii框架之表單驗證規(guī)則大全,感興趣的朋友一起學(xué)習(xí)吧.
Yii是一個基于組件的高性能PHP框架,用于開發(fā)大型Web應(yīng)用。Yii采用嚴格的OOP編寫,并有著完善的庫引用以及全面的教程。
<?php
class ContactForm extends CFormModel
{
public $_id;
public $contact;/pic/p>
public $tel;/pic/p>
public $fax;/pic/p>
public $zipcode;/pic/p>
public $addr;/pic/p>
public $mobile;/pic/p>
public $email;/pic/p>
public $website;/pic/p>
public $qq;/pic/p>
public $msn;/pic/p>
public function rules()
{
return array(
array('contact','required','on'=>'edit','message'=>'聯(lián)系人必須填寫.'),
array('contact','length','on'=>'edit','min'=>2,'max'=>10,'tooShort'=>'聯(lián)系人長度請控制在2-10個字符.','tooLong'=>'聯(lián)系人長度請控制在2-10個字符.'),
array('tel', 'match','pattern' => '/^(\d{3}-|\d{4}-)(\d{8}|\d{7})?$/','message' => '請輸入正確的電話號碼.'),
array('fax', 'match','pattern' => '/^(\d{3}-|\d{4}-)(\d{8}|\d{7})?$/','message' => '請輸入正確的傳真號碼.'),
array('mobile', 'match','pattern' => '/^13[0-9]{1}[0-9]{8}$|15[0189]{1}[0-9]{8}$|189[0-9]{8}$/','message' => '請輸入正確的手機號碼.'),
array('email','email','on'=>'edit','message'=>'郵箱輸入有誤.'),
array('zipcode','required','on'=>'edit','message'=>'郵編必須填寫.'),
array('zipcode','numerical','on'=>'edit','message'=>'郵編是6位數(shù)字.'),
array('zipcode','length','on'=>'edit','min'=>6,'max'=>6,'tooShort'=>'郵編長度為6位數(shù).','tooLong'=>'郵編長度為6位數(shù).'),
array('website','url','on'=>'edit','message'=>'網(wǎng)址輸入有誤.'),
array('qq', 'match','pattern' => '/^[1-9]{1}[0-9]{4,11}$/','message' => '請輸入正確的QQ號碼.'),
array('msn','email','on'=>'edit','message'=>'MSN輸入有誤.'),
);
}
}
完整示例:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
public $password2;/pic/p>
public $verify; /pic/p>
public $fjg; /pic/p>
/**
* 映射數(shù)據(jù)庫表名
* @return string the associated database table name<br><br> * www.shouce.ren
*/
public function tableName()
{
return 'adm_user';
}
/**
* 驗證規(guī)則
* @return array validation rules for model attributes.
*/
public function rules()
{
/pic/p>
/pic/p>
return array(
/pic/p>
array('mobile_phone', 'unique'),/pic/p>
array('mobile_phone', 'match','pattern' => '/^(13|15|18)[0-9]{9}$/','message' => '請輸入正確的經(jīng)辦人手機號碼.'),
/pic/(.jpg|.gif|.png|\d)$/','message' => '請重新選擇證書圖像并且后綴只能是jpg、gif、png格式.'),
array('phone', 'match','pattern' => '/^(\d{3}-|\d{4}-)?(\d{8}|\d{7})?$/','message' => '請輸入正確的座機號碼.'),
array('fax', 'match','pattern' => '/^(\d{3}-|\d{4}-)(\d{8}|\d{7})?$/','message' => '請輸入正確的傳真號碼.'),
/pic/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/','message' => '請輸入正確的郵箱.'),
array('email_address','email','message'=>'請輸入正確的郵箱.'),
/pic/p>
array("password2","compare","compareAttribute"=>"password","message"=>"兩次密碼不一致",'on'=>'register'),
array("password2","compare","compareAttribute"=>"password","message"=>"兩次密碼不一致",'on'=>'regonter'),
array('qq', 'match','pattern' => '/^[1-9]{1}[0-9]{4,11}$/','message' => '請輸入正確的QQ號碼.'),
array('type,certificate_id,company_type, nationality,yyzz_id, status,level,create_by_id, create_time,update_time', 'numerical', 'integerOnly'=>true),
array('verify', 'numerical', 'message' => '驗證碼不正確','integerOnly'=>true),
array('name,user_type,tuijianren', 'length', 'max'=>20),
array('password', 'length', 'max'=>100),
array('email_address,business', 'length', 'max'=>50),
array('communication_address,money, yhzh,yhmc,industry, company, register_address,yhdh,shangbiao,zhuanli,gongshang', 'length', 'max'=>255),
array('role_id','default', 'setOnEmpty'=>true, 'value'=>10),
array('shangbiao','default', 'setOnEmpty'=>true, 'value'=>'0,0'),
array('zhuanli','default', 'setOnEmpty'=>true, 'value'=>'0,0'),
array('gongshang','default', 'setOnEmpty'=>true, 'value'=>'0,0'),
array('password','default', 'setOnEmpty'=>true, 'value'=>'123456'),
/*驗證碼*/
array('verify','checkVerify', 'on'=>'register'),
array('email_address','checkemail', 'on'=>'regonter'),
/pic/p>
/pic/p>
/pic/pic/p>
/pic/p>
/pic/p>
/pic/p>
/pic/p>
/pic/p>
array('id,role_id,name, password,user_type, email_address,tuijianren,shangbiao,company_type,zhuanli,gongshang,money,yhzh,yhmc,yyzz_id,yhdh,type,level, phone, qq, mobile_phone, fax, communication_address, nationality, industry, company, business, register_address, certificate, status, create_by_id, create_time, update_time', 'safe', 'on'=>'search'),
);
}
/*
* 手機驗證碼校驗
*/
public function checkVerify($attribute,$params)
{
$model=new Mess();
$d_title = $model->find(array('condition'=>'suij=:suij and tel=:tel and type>:type and time>:time','params'=>array(':suij'=>$this->verify,':tel'=>$this->mobile_phone,':type'=>0,':time'=>(time()-3600)),'select'=>array('id')));
/pic/p>
if($d_title['id']<1)
{
$this->addError('verify', "驗證碼不正確。");
}
else
{
if($this->password == $this->password2)
{
$model->updateAll(array('type'=>0),array('condition'=>'suij=:sj','params'=>array(':sj'=>$this->verify)));
}
}
}
【PHP中Yii框架之表單驗證規(guī)則】相關(guān)文章:
php編程必學(xué)之表單驗證12-11
PHP 表單驗證方法09-28
Yii框架form表單用法實例02-06
PHP中的表單處理10-30
基于PHP+Ajax實現(xiàn)表單驗證的詳解08-06
用php常用表單驗證的正則表達式02-27
仿照TP框架自帶的PHP驗證碼類12-29
- 相關(guān)推薦