sxtuwy 2011-09-06 17:13:16 4731次浏览 11条回复 0 0 0

rules中添加array('username','unique')会报错。是不是还要添加对应的方法?怎么回事?高手指点一下。

  • 回复于 2011-09-06 20:19 举报

    报什么错?

  • 回复于 2011-09-06 21:05 举报

    提示没有该方法

  • 回复于 2011-09-06 21:29 举报

    unique : CUniqueValidator 的别名, 确保了特性在数据表字段中是唯一的.

  • 回复于 2011-09-07 07:26 举报

    网上搜索了关于,居然这样就对了:array('username,email','unique','className'=>'User')
    希望大家跟帖完善一下rules的做法。

    1 条回复
    回复于 2017-07-19 18:09 回复

    之前用unique验证唯一性都起作用,最近用到唯一性验证就用了一下,唯一性验证失败,不知道是什么原因,看楼上写的加'className'=>'User',直接Setting unknown property: yii\validators\UniqueValidator::className,出现这样的错误

  • 回复于 2011-09-07 07:32 举报

    array('username','unique')
    这样是没错的,我一直这样用!

  • 回复于 2011-09-07 11:11 举报

    array('username','unique') 我也用 没错
    但是注册的时候重复密码 为什么 两次密码一致了还提示必须重复[attach]351[/attach]

  • 回复于 2011-09-07 16:47 举报

    原因可能你是把rules放在表模型中了,我是放在表单模型中了,所以我要指定一个模型类名。具体还得研究API

  • 回复于 2011-09-08 11:12 举报

    是的,
    表模型那样用没问题.
    表单模型要指定

  • 回复于 2012-02-22 14:57 举报

    我的怎么成功不了啊。

    public function rules()
    {
        return array(
            array('user_name, email, password,cPassword, telphone', 'required'),
            array('user_name, email, password', 'length', 'max'=>32),
            array('email','email'),
            array('user_name,email','unique','className'=>'User'),
            array('user_name', 'length', 'min'=>3, 'max'=>12),
            array('telphone','numerical'),
            array('telphone','length','min'=>7,'max'=>18),
            array('cPassword', 'compare', 'compareAttribute'=>'password'),
        );
    }
    
  • 回复于 2012-03-23 09:53 举报

    我是放在表模型中啊,为什么还是不起作用呢?

  • 回复于 2012-03-25 08:32 举报

    放在表模型中应该起作用。

您需要登录后才可以回复。登录 | 立即注册