Yii2 - 使用 DateValidator 验证 ISO8601 日期时间格式

Cha*_*man 3 php datetime yii2

我有一个 ISO8601 日期时间值,格式如下(由 JS 生成):

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

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

我尝试了以下格式,但报告日期时间字符串无效:

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

我使用DateTime::ATOM而不是DateTime::ISO8601因为这是PHP 文档本身推荐的。

有什么想法可以让这项工作发挥作用吗?

Biz*_*ley 5

['endTime', 'date', 'format' => 'php:' . \DateTime::ATOM],
Run Code Online (Sandbox Code Playgroud)

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