z108jiang

z108jiang

这家伙有点懒,还没写个性签名!

  • 财富值30
  • 威望值0
  • 总积分40

个人信息

  • 2016-12-23 已签到
    连续签到1天,获得了5个金钱
  • 回复了 的回答
    public function rules()
        {
            return [
                [['password','re_password','new_password'], 'string','min'=>6, 'max' => 16,'message'=>'{attribute}位数为6至16位'],
                [['phone'], 'unique','message'=>'{attribute}已经被占用了'],
                ['phone','match','pattern'=>'/^1[0-9]{10}$/','message'=>'{attribute}必须为1开头的11位纯数字'],
                [['phone','password'],'required','on'=>'login','message'=>'{attribute}不能为空'],
                ['re_password','compare','compareAttribute'=>'password','message'=>'两次密码不一致'],
            ];
        }
    

    对于验证,yii是不是按照那个rules里面数组从上往下的顺序验证的? 如果某个字段未验证通过,后面的字段就不会验证了,是这样?
    因为可能需求,比如我的手机验证通过后,才能验证该手机所发的验证码是否正确?如果手机都不正确,验证手机发送的验证码是否正确就会出问题!

    这个倒是个问题,只要没有判断语句,只要验证都应该是依次验证的,不管通没通过,但这个判断怎么写呢?

  • 太感谢了!同样的问题找到答案了,还是舰长行!

  • 回复了 的回答

    为什么我执行$model->save();方法的时候,总是执行插入操作?比如我要进行更新操作,我先建了一个model ModifyForm.php,并在里面定义了相应的规则,model里面写了doModify这个方法,里面通过new Admin()这个数据表,并对要改变的值进行重新赋值,再执行save()方法,在控制器这端引用这个model,if($model->load(Yii::$app->request->post()) && $model->validate()){$user = $model->doModify($id);if($user){return $this->redirect(['user/index']);}}执行后直接是空白页。这是怎么回事呢?网上找了很多更新的方法,都不行。

    new一个就是插入数据,::model就是update操作

  • 你们讲了这么多,这个密码要加密的啊,那该怎么验证呢?其实这里还有一个两次验证的问题,一个是对比一下是不是一致,第二个是再将加密的密码存入数据库,这时SAVE同样也验证了一次,这时要注意两个PASSWORD是要一致的

  • 2016-11-28 已签到
    连续签到1天,获得了5个金钱
试用期 等级规则
40/50
资料完整度
10/100
用户活跃度
0/100

Ta的关注

0

Ta的粉丝

0

Ta的访客

0