Yii 最小日期验证规则

Yii 最小日期验证规则,yii,Yii,如何在模型中添加最小日期验证规则 例如: 我有一个列dt_ini作为DATE,我需要在create上将输入限制为D+7 如果今天是:2012年10月1日 创建的最低有效日期为:2012年10月8日 否则,我会抛出一个验证错误:您的日期必须至少在7天后 我期望的代码是这样的:(这没有经过测试,可能无法工作) 谢谢。您正在寻找的是什么?创建自定义有效规则,如下所示: class YourModel extends CActiveModel { // some.... public

如何在模型中添加最小日期验证规则

例如:

我有一个列dt_ini作为DATE,我需要在create上将输入限制为D+7

如果今天是:2012年10月1日

创建的最低有效日期为:2012年10月8日

否则,我会抛出一个验证错误:您的日期必须至少在7天后

我期望的代码是这样的:(这没有经过测试,可能无法工作)


谢谢。

您正在寻找的是什么?

创建自定义有效规则,如下所示:

class YourModel extends CActiveModel
{
    // some....

    public function rules(){
      return array('dt_ini', 'dateValid', 'minDate' => '+7 day', 'on' => 'create');
    }

    public function dateValid($attribute, $params)
    {
        $valid=null;
        $today = date('Y-m-d', time());
        if(isset($params['minDate']))
            $valid = date('Y-m-d', strtotime($params['minDate'])); //+7 day

        if( !is_null($valid) )
        {  //for increamental date
            if($this->dt_ini >  $valid || $this->dt_ini < $today )
                $this->addError($attribute, 'enter error message');     
        }
    }
}
class YourModel扩展了CActiveModel
{
//一些。。。。
公共职能规则(){
返回数组('dt_ini','dateValid','minDate'=>'+7天','on'=>'create');
}
公共函数dateValid($attribute,$params)
{
$valid=null;
$today=日期('Y-m-d',time());
如果(isset($params['minDate']))
$valid=date('Y-m-d',strottime($params['minDate']);//+7天
如果(!为空($valid))
{//用于递增日期
如果($this->dt|u ini>$valid | |$this->dt|u ini<$today)
$this->addError($attribute,'enterror message');
}
}
}

不太可能。这个链接只是解释了验证是如何在Yii上工作的。但它没有添加具有最小日期的特定日期验证规则。
class YourModel extends CActiveModel
{
    // some....

    public function rules(){
      return array('dt_ini', 'dateValid', 'minDate' => '+7 day', 'on' => 'create');
    }

    public function dateValid($attribute, $params)
    {
        $valid=null;
        $today = date('Y-m-d', time());
        if(isset($params['minDate']))
            $valid = date('Y-m-d', strtotime($params['minDate'])); //+7 day

        if( !is_null($valid) )
        {  //for increamental date
            if($this->dt_ini >  $valid || $this->dt_ini < $today )
                $this->addError($attribute, 'enter error message');     
        }
    }
}