亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在PHP中使用Yii框架實現表單驗證

發布時間:2021-04-13 16:03:41 來源:億速云 閱讀:161 作者:Leah 欄目:開發技術

今天就跟大家聊聊有關怎么在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輸入有誤.'),
    );
  }
}

完整示例:

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框架實現表單驗證有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

巫溪县| 广南县| 休宁县| 沐川县| 大悟县| 保靖县| 定远县| 鄂托克前旗| 华亭县| 自治县| 会东县| 浮梁县| 东乡| 乳山市| 禄劝| 沧州市| 定边县| 绥滨县| 甘洛县| 海原县| 西青区| 绍兴县| 上饶县| 宁德市| 汉源县| 兖州市| 松滋市| 民权县| 铜鼓县| 鹤壁市| 昌黎县| 偏关县| 察雅县| 会昌县| 财经| 西宁市| 遂溪县| 开化县| 平果县| 通州市| 儋州市|