PHP Yii框架之表单验证规则大全
程序员文章站
2024-01-22 08:16:10
yii是一个基于组件的高性能php框架,用于开发大型web应用。yii采用严格的oop编写,并有着完善的库引用以及全面的教程。
废话不多说了,直接给大家贴代码了。...
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框架之表单验证规则大全的全部内容,希望大家喜欢。
推荐阅读
-
PHP Yii框架之表单验证规则大全
-
Yii框架中jquery表单验证插件用法示例_php实例
-
PHP Yii框架之表单验证规则大全,yii框架
-
YII框架中的表单验证是用的javascript来验证的还是使用PHP本身来验证的?
-
PHP YII框架开发小技巧之模型(models)中rules自定义验证规则,yiirules
-
表单验证之PHP代码框架
-
Yii框架表单模型和验证用法,yii框架表单模型_PHP教程
-
PHP YII框架开发小技巧之模型(models)中rules自定义验证规则
-
Yii框架表单模型和验证用法,yii框架表单模型_PHP教程
-
Laravel 5框架学习之表单验证_php实例