2014-12-19 15:37:19 9182次浏览 2条回答 3 悬赏 10 金钱

如题,给字段title自定义一个验证方法确保标题唯一,规则为
'title','ckunique','params'=>'title'],自定义方法如下:

public function ckunique($attribute,$params) {
    if(News::ckunique($params,$this->$attribute)){
        $this->addError($attribute,'内容不唯一');
    }
}

这个当然ok,但是我想把规则里面的参数自定义,如 ['title','ckunique','key'=>'title'],那么自定义方法怎么处理 params?

public function ckunique($attribute,$params) {
    if(News::ckunique($params,$this->$attribute)) {
        $this->addError($attribute,'内容不唯一');
    }
}

最佳答案

  • RichardTian 发布于 2014-12-19 15:39 举报

    params是你加的参数啊,例如你可以通过传入不同的参数,去获取不同的判断

    2 条回复
    回复于 2014-12-19 15:49 回复

    params是数组吗?若果我要传两个参数,自定义函数怎么获取参数处理,比
    ['title','ckunique','key'=>'title','index'=>5];
    自定义函数中,

    public function ckunique($attribute,$params){
      $key=$params['key'];
      $index=$params['index'];
    }?
    
    回复于 2014-12-19 16:04 回复

    明白了,paras是我需要传的参数,可以是字符串、数组或其他,如果想传多个参数可以写成
    ['title','ckunique','params'=>['key'=>'title','index'=>5]];
    在方法里面通过
    $key=$params['key']获取参数!
    $index=$params['index'];

    , 觉得很赞
  • 回答于 2016-11-29 18:23 举报

    如果$params['index'],中index是变量,怎么弄呢,比如他是一个店铺的id,id是不固定的,该怎么写呢?

您需要登录后才可以回答。登录 | 立即注册
zfeig
主管

zfeig

注册时间:2014-07-29
最后登录:2015-09-29
在线时长:36小时6分
  • 粉丝55
  • 金钱75
  • 威望30
  • 积分735

热门问题