YII 框架 第六天(2) 注册单 验证

            function rules()
            {
                return array(
                    array('username','required','message'=>'用户名是必须的'), 
                    
                    array('username','unique','message'=>'用户名重复'),
                    
                    array('password2','compare','compareAttribute'=>'password','message'=>'两次输入的密码不一样'), //如果数据库没有这个字段,可以在 类中加一个 public $类名
                    array('password','required','message'=>'密码是必须的'),
                    array('user_email','email','allowEmpty'=>false,'message'=>'邮箱格式不正确'),
                    array('user_qq','match','pattern'=>'/[1-9]\d{4,11}$/','message'=>'QQ号码格式不正确'),
                    array('user_tel','match','pattern'=>'/13\d{9}$/','message'=>'手机号码格式不正确'),
                    array('user_xueli','in','range'=>array(2,3,4,5),'message'=>'学历必须选择'),
                    
                    array('user_hobby','checkHobby'), //自定义验证
                    array('user_introduce','safe')
                );
            }

            function checkHobby()
            {
                if(strlen($this->user_hobby) < 3)
                    $this->addError('user_hobby','爱好必须选择两项或以上');
            }

        public function actionRegister()
        {
            $user_model = new user(); //需要 insert  所以要new
             if(isset($_POST['User']))
            {
//                foreach($_POST['User'] as $k => $v)
//                {
//                    if(is_array($v))
//                    {
//                        $temp = '';
//                        foreach ($v as $value)
//                        {
//                            $temp.=$value.'|';
//                        }
//                        $temp = substr($temp,0,-1);
//                        $user_model->$k = $temp;
//                        continue;
//                    }
//                    $user_model->$k = $v;
//                }
                 if(is_array($_POST['User']['user_hobby']))
                 {
                     $_POST['User']['user_hobby'] = implode(',',$_POST['User']['user_hobby']);
                 }               
                $user_model->attributes = $_POST['User'];
//                var_dump($user_model->attributes);
//                exit;
                $user_model->save();
            }           

YII 内置的  $user_model->attribute = $_POST['User];   可以自动的验证并把数据加入 model中 然后 save就行了
 


注意: 如果在 rules 中没有 添加 规则 的字段, attributes 是不收的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值