亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

php語(yǔ)言

PHP中Yii框架之表單驗(yàn)證規(guī)則

時(shí)間:2024-06-08 09:12:17 php語(yǔ)言 我要投稿
  • 相關(guān)推薦

PHP中Yii框架之表單驗(yàn)證規(guī)則

  Yii是一個(gè)基于組件的高性能PHP框架,用于開發(fā)大型Web應(yīng)用。Yii采用嚴(yán)格的OOP編寫,并有著完善的庫(kù)引用以及全面的教程,本文給大家介紹php yii框架之表單驗(yàn)證規(guī)則大全,感興趣的朋友一起學(xué)習(xí)吧.

  Yii是一個(gè)基于組件的高性能PHP框架,用于開發(fā)大型Web應(yīng)用。Yii采用嚴(yán)格的OOP編寫,并有著完善的庫(kù)引用以及全面的教程。

  <?php

  class ContactForm extends CFormModel

  {

  public $_id;

  public $contact;//聯(lián)系人

  public $tel;//電話

  public $fax;//傳真

  public $zipcode;//郵編

  public $addr;//地址

  public $mobile;//手機(jī)

  public $email;//郵箱

  public $website;//網(wǎng)址

  public $qq;//QQ

  public $msn;//MSN

  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)系人長(zhǎng)度請(qǐng)控制在2-10個(gè)字符.','tooLong'=>'聯(lián)系人長(zhǎng)度請(qǐng)控制在2-10個(gè)字符.'),

  array('tel', 'match','pattern' => '/^(\d{3}-|\d{4}-)(\d{8}|\d{7})?$/','message' => '請(qǐng)輸入正確的電話號(hào)碼.'),

  array('fax', 'match','pattern' => '/^(\d{3}-|\d{4}-)(\d{8}|\d{7})?$/','message' => '請(qǐng)輸入正確的傳真號(hào)碼.'),

  array('mobile', 'match','pattern' => '/^13[0-9]{1}[0-9]{8}$|15[0189]{1}[0-9]{8}$|189[0-9]{8}$/','message' => '請(qǐng)輸入正確的手機(jī)號(hào)碼.'),

  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'=>'郵編長(zhǎng)度為6位數(shù).','tooLong'=>'郵編長(zhǎng)度為6位數(shù).'),

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

  array('qq', 'match','pattern' => '/^[1-9]{1}[0-9]{4,11}$/','message' => '請(qǐng)輸入正確的QQ號(hào)碼.'),

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

  public $verify; //手機(jī)驗(yàn)證碼

  public $fjg; //忘記號(hào)碼

  /**

  * 映射數(shù)據(jù)庫(kù)表名

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

  */

  public function tableName()

  {

  return 'adm_user';

  }

  /**

  * 驗(yàn)證規(guī)則

  * @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' => '該手機(jī)號(hào)已經(jīng)存在!'

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

  //array('certificate_id', 'match','pattern' => '/(.jpg|.gif|.png|\d)$/','message' => '請(qǐng)重新選擇證書圖像并且后綴只能是jpg、gif、png格式.'),

  array('phone', 'match','pattern' => '/^(\d{3}-|\d{4}-)?(\d{8}|\d{7})?$/','message' => '請(qǐng)輸入正確的座機(jī)號(hào)碼.'),

  array('fax', 'match','pattern' => '/^(\d{3}-|\d{4}-)(\d{8}|\d{7})?$/','message' => '請(qǐng)輸入正確的傳真號(hào)碼.'),

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

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

  //驗(yàn)證密碼和確認(rèn)密碼

  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' => '請(qǐng)輸入正確的QQ號(hào)碼.'),

  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' => '驗(yàn)證碼不正確','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'),

  /*驗(yàn)證碼*/

  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'=>'請(qǐng)先上傳證書圖像.'

  //     ),

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

  );

  }

  /*

  * 手機(jī)驗(yàn)證碼校驗(yàn)

  */

  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', "驗(yàn)證碼不正確。");

  }

  else

  {

  if($this->password == $this->password2)

  {

  $model->updateAll(array('type'=>0),array('condition'=>'suij=:sj','params'=>array(':sj'=>$this->verify)));

  }

  }

  }

【PHP中Yii框架之表單驗(yàn)證規(guī)則】相關(guān)文章:

Yii框架form表單用法實(shí)例03-02

基于PHP+Ajax實(shí)現(xiàn)表單驗(yàn)證的詳解03-03

如何實(shí)現(xiàn)php登陸表單提交CSRF及驗(yàn)證碼03-24

Yii2創(chuàng)建表單(ActiveForm)方法11-17

ThinkPHP中create()方法自動(dòng)驗(yàn)證表單信息03-03

怎么在yaf框架增加php擴(kuò)展框架12-04

如何實(shí)現(xiàn)PHP獲取表單數(shù)據(jù)與HTML嵌入PHP腳本03-25

php如何實(shí)現(xiàn)驗(yàn)證碼11-26

重新認(rèn)識(shí)PHP框架03-19