2015-07-07 14:54:52 6351次浏览 3条回答 0 悬赏 1 金钱

我的需求是要验证用户输入的时间 是否为当前时间之后的时间

我在modelForm 里面添加了一个方法

public function validateAfterNow($attribute, $params)
{
    if(strtotime($attribute) < time()) {
        $this->addError($attribute, '请选择正确的日期.');
    }
}

但是好像木有用, debug都进不去

  • 回答于 2015-07-07 16:36 举报
    public function rules()
    {
       return [
          ['column_name', 'validateAfterNow'],
       ];
    }
    
    4 条回复
    回复于 2015-07-07 18:04 回复

    我的rules里面当然是这样写了,但是就是进不了这个验证!
    兄台可知为何?

    回复于 2015-07-10 11:38 回复

    是这样写?这个传给函数的是'column_name'这个字符串吧

    回复于 2015-07-10 17:49 回复

    这里表示验证 column_name 字段,在函数中使用 $this->column_name 来获取value

    回复于 2015-07-10 18:27 回复

    学习了.

  • 回答于 2015-07-08 07:32 举报

    strtotime($this->$attribute)

  • 回答于 2015-07-10 18:28 举报

    如另外两位所言,你判断的是变量名而不是变量值。

    strtotime($this->$attribute)

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

猫学乖

注册时间:2015-06-26
最后登录:2016-06-14
在线时长:9小时44分
  • 粉丝3
  • 金钱223
  • 威望20
  • 积分513

热门问题