frontend\models\ChangeMobileForm::rules PHP Method

rules() public method

public rules ( )
    public function rules()
    {
        return [[['mobile', 'verifyCode'], 'trim'], [['mobile', 'verifyCode'], 'required'], [['mobile'], 'match', 'pattern' => '/^1[3|5|7|8|][0-9]{9}$/'], [['mobile'], 'unique', 'targetClass' => '\\common\\models\\User', 'message' => '该手机号已被注册!'], [['mobile'], function ($attribute, $params) {
            $session = Yii::$app->session;
            if ($session->has('mobileChange') && $session['mobileChange'] !== $this->mobile) {
                $this->addError($attribute, '该手机号与上次不匹配!');
            }
        }], [['verifyCode'], 'string', 'length' => 6], [['verifyCode'], function ($attribute, $params) {
            $session = Yii::$app->session;
            if (!$session->has('mobileChange') || !$session->has('mobileChangeTimeout') || !$session->has('mobileChangeVerifyCode')) {
                $this->addError($attribute, '请您发送验证码!');
                return;
            }
            if ($session['mobileChangeTimeout'] < time()) {
                $this->addError($attribute, '您的验证码已经过期,请重新发送。');
                return;
            }
            if ($session['mobileChangeVerifyCode'] !== $this->verifyCode) {
                $this->addError($attribute, '验证码不匹配!');
            }
        }]];
    }