2017-08-17 49 views
1

我有以下格式(由JS生成)一个ISO8601日期时间值:Yii2 - 验证ISO8601日期时间格式与DateValidator

var d = new Date(), 
    dateString = d.toISOString(); // returns "2017-08-17T07:39:34.502Z" 

在我的模型,我想创建一个验证规则来验证此值。

我曾尝试以下格式,但报告的时间字符串无效:

public function rules() 
{ 
    return [ 
     ... 
     ['endTime', 'datetime', 'format' => 'php:DateTime::ATOM'], 
     ... 
    ]; 
} 

我用DateTime::ATOM代替DateTime::ISO8601,因为这是在PHP documentation本身建议。

任何想法如何使这项工作?

回答

2
['endTime', 'date', 'format' => 'php:' . \DateTime::ATOM], 

编辑:datetime是错误的 - 正确的验证是date