Home >Backend Development >PHP Tutorial >Complete collection of YII form validation rules, complete collection of yii form rules_PHP tutorial

Complete collection of YII form validation rules, complete collection of yii form rules_PHP tutorial

WBOY
WBOYOriginal
2016-07-12 09:04:52940browse

YII form validation rules collection, yii form verification rules collection

<?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输入有误.'),
        );
    }
 
}

Full example:

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)));
			}
		}
	}

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/1071500.htmlTechArticleYII form validation rules collection, yii form rules collection?phpclass ContactForm extends CFormModel{ public $_id; public $contact; //Contact public $tel;//Telephone public $fax;//Fax pu...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn