Heim > Backend-Entwicklung > PHP-Tutorial > YII 表单验证规则大全,yii表单规则大全_PHP教程

YII 表单验证规则大全,yii表单规则大全_PHP教程

WBOY
Freigeben: 2016-07-12 09:04:52
Original
923 Leute haben es durchsucht

YII 表单验证规则大全,yii表单规则大全

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

完整示例:

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)));
			}
		}
	}
Nach dem Login kopieren

 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1071500.htmlTechArticleYII 表单验证规则大全,yii表单规则大全 ?phpclass ContactForm extends CFormModel{ public $_id; public $contact;//联系人 public $tel;//电话 public $fax;//传真 pu...
Verwandte Etiketten:
yii
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage