我有一个带有 creation_date 字段的模型,该字段在为空时被分配当前日期,之后不会被修改。我还想验证日期以防止不正确的查询,因此这里是该字段的规则:
<?php
array('creation_date', 'default', 'value' => date('Y-m-d\TH:i:s')),
array('[...bunch of fields...], creation_date', 'required'),
array('creation_date', 'date', 'format' => 'yyyy-MM-ddThh:mm:ss'),
?>
如果我插入一条新记录,一切都很好,但是如果我更新一行(不修改creation_date),我会收到一个验证错误,因为从SQL Server 获取的日期将包括毫秒(例如2012-11-29 11:24:26.000
)。我会将毫秒添加到验证格式中,但这是不可能的[1]。
有没有办法在没有黑客的情况下解决这个问题?还是我应该放弃格式验证?