如何在保存到数据库之前验证YII中的文本字段?
我有一个日期选择器,我在保存之前将它从Y-m-d格式转换为d-m-Y格式。
现在,我想验证相同的字段,以便在今天的日期之前不允许日期。 我尝试了以下内容。
array('edate','compare','compareValue'=>date('Y-m-d'),'operator'=>'>=', 'allowEmpty'=>false),
由于日期现在采用d-m-Y格式,因此未显示错误。 我也尝试将上面的代码更改为 日期(d-m-Y)但无法找到结果
答案 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'),