在 Yii2 中,验证 时间 格式 15:00 形式的值的实现
1、代码实现如下
use yii\base\InvalidArgumentException; use yii\validators\DateValidator; $validator = new DateValidator(['type' => DateValidator::TYPE_TIME, 'format' => 'H:i']); if (!$validator->validate($this->value, $error)) { throw new InvalidArgumentException($surveyFormField['name'] . '验证失败:' . $error); }
2、但是验证失败,如图1
{ "code": 10500, "message": "时间验证失败:属性 该输入 的格式无效。" }
3、由于 H:i 的格式为 PHP 中的格式。设置以 php: 开头的字符串,用来表示PHP可以识别的日期时间格式。验证通过。如图2
use yii\base\InvalidArgumentException; use yii\validators\DateValidator; $validator = new DateValidator(['type' => DateValidator::TYPE_TIME, 'format' => 'php:H:i']); if (!$validator->validate($this->value, $error)) { throw new InvalidArgumentException($surveyFormField['name'] . '验证失败:' . $error); }
近期评论