tw1996 2016-03-19 10:06:56 11145次浏览 1条回复 0 0 0
    return [
        [['cat_name','unit','pid','sort','is_show','price_area'], 'required',],
        [['pid', 'sort', 'is_show', 'price_area'], 'integer'],
        [['cat_name'], 'string', 'max' => 30],
        [['unit'], 'string', 'max' => 10],
        [['des'], 'string', 'max' => 100],
         [['cat_name'], 'checkCategoryName' ,  'params' => [ 'pid' => '1',  'catgoryname'  => 'cat_name'  ]  ], //验证分类名是否合法 (同一级别下 分类名不能重复)
    ];

最后一条规则,我想把pid和 cat_name作为参数传递到 自定义的checkCategoryName($attribute, $params)中去, 但是好像只可以传递常量例如pid=1,但是为什么我传cat_name变量不行?

  • 回复于 2016-03-22 14:21 举报

    你那个'cat_name'是变量?那什么是字符串啊

    4 条回复
    回复于 2016-03-22 17:36 回复

    是数据表里面的一个字段

    回复于 2016-03-22 17:43 回复

    你本来就是对那个字段使用规则,checkCategoryName方法第一个参数$attribute,$this->$attribute能取到值的,不需要再传进去,再说你传的方法明显有问题

    回复于 2016-03-22 21:30 回复

    是的,cat_name 的值我能接收到, 但是我还想要其他字段的值,比如pid,unit.....

    回复于 2016-03-22 22:52 回复

    都是这个对象的属性,$this->pid,$this->unit不就访问到了。

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