我在Yii中的自定义验证规则中遇到了问题。我有一些字段,例如day1s
,day1e
,day2s
,day2e
等。我想在创建之前检查这些属性是否具有存储在我的数据库中的相同值新纪录。并检查不同的用户ID。如果值已存在,我想生成错误并提示用户更改该值。我想做这样的事情:
array('day1s, day1e, day2s etc','unique','message'=>'day1s is already exist, please change'),
这种工作,但我想修改它。默认值为"00:00"
,如果我放置此规则,那么每次我去创建新记录时都会生成错误,但第一次除外。我想在day1s==00:00
时忽略它。并且如果用户改变(在我的场合,用户是SchoolID)。我无法解决如何做到这一点。提前谢谢!
答案 0 :(得分:1)
在规则中添加allowEmpty:
array('day1s, day1e, day2s etc','unique','message'=>'day1s is already exist, please change', 'allowEmpty'=>true),
在验证之前的控制器中添加以下代码:
if($model->day1s == "00:00") {
$model->day1s = '';
}