如何在保存到数据库之前验证YII中的文本字段?

时间:2014-03-04 08:23:29

标签: yii

如何在保存到数据库之前验证YII中的文本字段?

我有一个日期选择器,我在保存之前将它从Y-m-d格式转换为d-m-Y格式。

现在,我想验证相同的字段,以便在今天的日期之前不允许日期。 我尝试了以下内容。

array('edate','compare','compareValue'=>date('Y-m-d'),'operator'=>'>=', 'allowEmpty'=>false),

由于日期现在采用d-m-Y格式,因此未显示错误。 我也尝试将上面的代码更改为 日期(d-m-Y)但无法找到结果

1 个答案:

答案 0 :(得分:0)

您可以在Yii中编写自定义验证器。因此,在模型文件中,添加如下函数:

public function isValidDate($attribute, $params)
{
    if(strtotime($this->$attribute) < time())
    {
         $this->addError($attribute, 'Date cannot be in the past');
    }
}

然后将自定义验证程序分配给rules()数组中的属性:

array('edate', 'isValidDate'),