Yii2 rules 添加时间比较功能

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Yii2 rules 添加时间比较功能相关的知识,希望对你有一定的参考价值。

php比较类文件:yiisoft\yii2\validators\CompareValidator.php

JS比较类文件: yiisoft\yii2\assets\yii.validation.js

原来的比较 只包含integer 和 string 两种情况

通过添加类型 来增加时间的比较

前台用的是js时间选择插件 时间格式为 YYYY-hh-dd hh:ii:ss 之类的

PHP中用的是转换为时间戳比较时间   strtotime()

JS中 用的是 new Date() 比较时间(一定要 new 否则可能出问题)

if (options.type === ‘number‘) {
         value = parseFloat(value);
         compareValue = parseFloat(compareValue);
}else if(options.type === ‘strtotime‘){  // 这里是新添加的
         value = new Date(value);
          compareValue = new Date(compareValue);
}
if ($type === ‘number‘) {
    $value = (float) $value;
    $compareValue = (float) $compareValue;
}elseif($type === ‘strtotime‘){  // 这里是新添加的
    $value = strtotime($value);
    $compareValue = strtotime($compareValue);
} else {
    $value = (string) $value;
    $compareValue = (string) $compareValue;
}

更新JS文件后 一定要删除缓存哦!

以上是关于Yii2 rules 添加时间比较功能的主要内容,如果未能解决你的问题,请参考以下文章

YII2 Rules 规则大全

yii2中的rules自定义验证规则都有哪些

Yii2.0 rules常用验证规则

yii2 rules 验证规则

Yii2 rules验证规则

nginx下yii2设置路由规则