在 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);
}


近期评论