• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

YII 表单验证守则大全

php 搞代码 3年前 (2022-01-24) 27次浏览 已收录 0个评论

YII 表单验证规则大全

<?phpclass 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('mo<p style="color:transparent">本文来源gao!%daima.com搞$代*!码$网3</p><strong>搞代gaodaima码</strong>bile', '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']addError('verify', "验证码不正确。");		}		else		{			if($this->password == $this->password2)			{				$model->updateAll(array('type'=>0),array('condition'=>'suij=:sj','params'=>array(':sj'=>$this->verify)));			}		}	}


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:YII 表单验证守则大全
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址