谁一开始就是大神?

YII2表单验证问题:注册时ajax验证手机号唯一

情景:我在验证规则里写了手机号码唯一,同时ajax验证也开启了,但是只有其他的验证能在ajax验证(比如手机号码格式,密码位数或者两次密码时候一致等等,只有这个唯一值没法ajax验证o(╯□╰)o)。
rules代码

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'=>'两次密码不一致'],
        ];
    }

难道本屌还得自己写js代码?

应用程序初始化的用户名唯一验证的代码如下:
['username', 'unique', 'targetClass' => '\common\models\User', 'message' => '此用户名已经被使用。'],
应该加上targetClass。
对于验证,yii是不是按照那个rules里面数组从上往下的顺序验证的? 如果某个字段未验证通过,后面的字段就不会验证了,是这样?
因为可能需求,比如我的手机验证通过后,才能验证该手机所发的验证码是否正确?如果手机都不正确,验证手机发送的验证码是否正确就会出问题!

赞(0) 打赏
未经允许不得转载:菜鸟之家 » YII2表单验证问题:注册时ajax验证手机号唯一

评论 抢沙发

登录

找回密码

注册