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'],