Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Validation 如何为日期验证指定多种格式_Validation_Date_Datetime_Yii2 - Fatal编程技术网

Validation 如何为日期验证指定多种格式

Validation 如何为日期验证指定多种格式,validation,date,datetime,yii2,Validation,Date,Datetime,Yii2,我有一个模型,它有两个日期属性,我希望它们对不同的日期格式有效,例如:yyyy-MM-dd HH:MM:ss,yyy-MM-dd和yyyy-MM-dd HH:MM:ss(这里应该是时区和微时间的格式),但验证规则的format属性似乎不接受数组。现在我想知道是否有任何方法可以使用日期验证器来实现这一点,或者我只能使用正则表达式验证器? 以下是我现在使用的规则: [['adtime', 'uptime'], 'date', 'type' => DateValidator::TYPE_DATE

我有一个模型,它有两个日期属性,我希望它们对不同的日期格式有效,例如:
yyyy-MM-dd HH:MM:ss
yyy-MM-dd
yyyy-MM-dd HH:MM:ss(这里应该是时区和微时间的格式)
,但验证规则的
format
属性似乎不接受数组。现在我想知道是否有任何方法可以使用日期验证器来实现这一点,或者我只能使用正则表达式验证器?
以下是我现在使用的规则:

[['adtime', 'uptime'], 'date', 'type' => DateValidator::TYPE_DATETIME, 'format' => 'yyyy-MM-dd HH:mm:ss'],

对于相同的属性,可以有多个验证规则
Yii
将测试每个规则,如果该规则失败,它将继续执行下一个规则,直到规则用尽,然后验证失败。所以你可以简单地做

[['adtime', 'uptime'], 'date', 'type' => DateValidator::TYPE_DATETIME, 'format' => 'yyyy-MM-dd HH:mm:ss'],
[['adtime', 'uptime'], 'date', 'type' => DateValidator::TYPE_DATETIME, 'format' => 'yyyy-MM-dd'],

对于相同的属性,可以有多个验证规则
Yii
将测试每个规则,如果该规则失败,它将继续执行下一个规则,直到规则用尽,然后验证失败。所以你可以简单地做

[['adtime', 'uptime'], 'date', 'type' => DateValidator::TYPE_DATETIME, 'format' => 'yyyy-MM-dd HH:mm:ss'],
[['adtime', 'uptime'], 'date', 'type' => DateValidator::TYPE_DATETIME, 'format' => 'yyyy-MM-dd'],