Yii2 rules 添加时间比较功能
2024-10-15 13:16:20
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 否则可能出问题)
// safari 浏览器 只能 new Date('yyyy/mm/dd')
function formatDate(value)
{
value = value.split('-');
if(value.length < 3) value.push('01');
return value.join('/');
}
if (options.type === 'number') {
value = parseFloat(value);
compareValue = parseFloat(compareValue);
}else if(options.type === 'strtotime'){ // 这里是新添加的
//value = new Date(value);
// compareValue = new Date(compareValue);
value = new Date(formatDate(value));
compareValue = new Date(formatDate(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文件后 一定要删除缓存哦!
最新文章
- Android随笔之——Android ADB详解
- office project 激活
- 数据源DBCP一二
- nginx+tomcat 配置负载均衡
- RM报表的选项 注册表位置
- HTML5根据浏览器获取经度和纬度(百度API)
- C#学习笔记-抽象工厂模式
- PostgresSQL中的限制和级联删除
- 开发JQuery插件(转)
- HTML Meta信息的优先级
- vxlan和vlan数据报文
- JQuery-change/select/submit
- Android中使用databinding编译时出现的error:Execution failed for task &#39;:app:dataBindingProcessLayoutsDebug&#39;
- 转:CTE(公共表表达式)——WITH子句
- CentOS7下部署Django项目详细操作步骤
- Ubuntu16.10上安装NodeJS6.9.2
- PHP 多个mysql连接的问题
- iOS - Bundle 资源文件包
- MyBatis使用小案例
- [svc]expect的爱恨情仇