<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            php語言

            PHP中Yii框架之表單驗證規則

            時間:2025-04-02 07:08:37 php語言 我要投稿
            • 相關推薦

            PHP中Yii框架之表單驗證規則

              Yii是一個基于組件的高性能PHP框架,用于開發大型Web應用。Yii采用嚴格的OOP編寫,并有著完善的庫引用以及全面的教程,本文給大家介紹php yii框架之表單驗證規則大全,感興趣的朋友一起學習吧.

              Yii是一個基于組件的高性能PHP框架,用于開發大型Web應用。Yii采用嚴格的OOP編寫,并有著完善的庫引用以及全面的教程。

              <?php

              class ContactForm extends CFormModel

              {

              public $_id;

              public $contact;//聯系人

              public $tel;//電話

              public $fax;//傳真

              public $zipcode;//郵編

              public $addr;//地址

              public $mobile;//手機

              public $email;//郵箱

              public $website;//網址

              public $qq;//QQ

              public $msn;//MSN

              public function rules()

              {

              return array(

              array('contact','required','on'=>'edit','message'=>'聯系人必須填寫.'),

              array('contact','length','on'=>'edit','min'=>2,'max'=>10,'tooShort'=>'聯系人長度請控制在2-10個字符.','tooLong'=>'聯系人長度請控制在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位數字.'),

              array('zipcode','length','on'=>'edit','min'=>6,'max'=>6,'tooShort'=>'郵編長度為6位數.','tooLong'=>'郵編長度為6位數.'),

              array('website','url','on'=>'edit','message'=>'網址輸入有誤.'),

              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;//非數據庫的字段,但是在view中需要用到

              public $verify; //手機驗證碼

              public $fjg; //忘記號碼

              /**

              * 映射數據庫表名

              * @return string the associated database table name<br><br>     * www.shouce.ren

              */

              public function tableName()

              {

              return 'adm_user';

              }

              /**

              * 驗證規則

              * @return array validation rules for model attributes.

              */

              public function rules()

              {

              // NOTE: you should only define rules for those attributes that

              // will receive user inputs.

              return array(

              //array('mobile_phone,name,status', 'required'),

              array('mobile_phone', 'unique'),//'message' => '該手機號已經存在!'

              array('mobile_phone', 'match','pattern' => '/^(13|15|18)[0-9]{9}$/','message' => '請輸入正確的經辦人手機號碼.'),

              //array('certificate_id', 'match','pattern' => '/(.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' => '請輸入正確的傳真號碼.'),

              //array('email_address', 'match','pattern' => '/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/','message' => '請輸入正確的郵箱.'),

              array('email_address','email','message'=>'請輸入正確的郵箱.'),

              //驗證密碼和確認密碼

              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'),

              //     array('certificate_id', 'file','allowEmpty'=>true,

              //         'types'=>'jpg, gif, png, doc, txt',

              //         'maxSize'=>1024 * 1024 * 10, // 10MB

              //         'tooLarge'=>'文件大小不能超過10M!',

              //         'message'=>'請先上傳證書圖像.'

              //     ),

              // The following rule is used by search().

              // @todo Please remove those attributes that should not be searched.

              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')));

              //$d_title = $model->findByAttributes(array('suij'=>$this->verify,'tel'=>$this->mobile_phone),array('select'=>array('id')));

              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框架之表單驗證規則】相關文章:

            php編程必學之表單驗證12-11

            PHP 表單驗證方法05-07

            Yii框架form表單用法實例02-06

            php中tp驗證表單與自動填充函數代碼07-16

            PHP中的表單處理05-24

            基于PHP+Ajax實現表單驗證的詳解05-19

            PHP 表單驗證 E-mail 和 URL04-09

            用php常用表單驗證的正則表達式02-27

            ThinkPHP中create()方法自動驗證表單信息01-26

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看