PHP Yii框架之表单验证规则大全
更新时间:2015年11月16日 13:56:05 投稿:mrr
Yii是一个基于组件的高性能PHP框架,用于开发大型Web应用。Yii采用严格的OOP编写,并有着完善的库引用以及全面的教程,本文给大家介绍php yii框架之表单验证规则大全,感兴趣的朋友一起学习吧
GPT4.0+Midjourney绘画+国内大模型 会员永久免费使用!
【 如果你想靠AI翻身,你先需要一个靠谱的工具! 】
Yii是一个基于组件的高性能PHP框架,用于开发大型Web应用。Yii采用严格的OOP编写,并有着完善的库引用以及全面的教程。
废话不多说了,直接给大家贴代码了。
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 | <?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 + plupload.js实现多图上传并显示进度条加删除实例代码
本篇文章主要介绍了PHP + plupload.js实现多图上传并显示进度条加删除实例代码。具有一定的参考价值,有兴趣的可以了解一下。2017-03-03
最新评论