谁一开始就是大神?

Yii2modelrules里面自义规则无效,怎么解决??[2.0]

在rules里面自定义规则,代码如下:

public function rules()
    {
        return [
            ['username','required','message'=>'请输入用户名'],
            ['username' , 'checkname' , 'skipOnEmpty' => false],
       ];
}

public function checkname($attribute , $params)
    {
        if(!preg_match("/^[\w]{6,20}$/" , $this->$attribute)){
            $this->addError($attribute , '用户名必须为6~20的数字或字母');
        }
    }

第一个是有效的(’请输入用户名),但是第二个就没效果了,不验证了,不知道是什么情况,有知道的吗

你这样仅支持提交后验证,要在填写时验证,再去前台写一个验证js才能实现.
Core validator 如 required 同时支持客户端验证和服务端验证;Inline validator 如 validname 不支持客户端验证,仅支持服务端验证。换句话说,validname validator 必须提交表单后才能触发验证。
rules 相关验证可以多试试

赞(0) 打赏
未经允许不得转载:菜鸟之家 » Yii2modelrules里面自义规则无效,怎么解决??[2.0]

评论 抢沙发

登录

找回密码

注册