- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我对传入的 POST 请求使用以下日期验证。
'trep_txn_date' => 'date_format:"Y-m-d H:i:s.u"'
这将只允许此类日期,即 2012-01-21 15:59:44.8
我也想允许没有时间的日期,例如2012-01-21,发送到 mysql db 时会自动存储为 2012-01-21 00:00:00.0
有没有一种方法可以使用 Laravel 现有的验证规则来做到这一点。有没有办法在 date_format 规则中定义多种格式,如下所示。
'trep_txn_date' => 'date_format:"Y-m-d H:i:s.u","Y-m-d"' //btw this didn't work.
谢谢,
K
最佳答案
date_format 验证器只采用一种日期格式作为参数。为了能够使用多种格式,您需要构建自定义验证规则。幸运的是,这非常简单。
您可以使用以下代码在您的 AppServiceProvider 中定义多格式日期验证:
class AppServiceProvider extends ServiceProvider
{
public function boot()
{
Validator::extend('date_multi_format', function($attribute, $value, $formats) {
// iterate through all formats
foreach($formats as $format) {
// parse date with current format
$parsed = date_parse_from_format($format, $value);
// if value matches given format return true=validation succeeded
if ($parsed['error_count'] === 0 && $parsed['warning_count'] === 0) {
return true;
}
}
// value did not match any of the provided formats, so return false=validation failed
return false;
});
}
}
您以后可以像这样使用这个新的验证规则:
'trep_txn_date' => 'date_multi_format:"Y-m-d H:i:s.u","Y-m-d"'
您可以在此处阅读有关如何创建自定义验证规则的更多信息:http://laravel.com/docs/5.1/validation#custom-validation-rules
关于php - Laravel 5.1 date_format 验证允许两种格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32006092/
我在我的数据库中为每个预订使用 unix 时间戳整数存储时间。我遇到了一个问题,我的查询没有正确选择内容,而且似乎休息了一天。 例如,在我的网站上,我有一个日历表,它显示了一个月中的每一天。我使用以下
我在 cakephp 框架中工作, 因为我将日期字符串存储在 varchar 字段中。我需要在需要更改格式之后转换它的时区。这是查询。 SELECT DATE_FORMAT(cast( CONVERT
为什么我的日期比较不起作用, 主要返回所有日期或不返回任何日期 Select DATE_FORMAT(time,'%Y - %m - %d'),'2013 - 01 - 10' FROM signa
我有一张来自 Daloradius 的 table : {CREATE TABLE `radacct` ( `radacctid` bigint(21) NOT NULL AUTO_INCREME
2015 年有 53 周。如果您现在的一周从星期一开始,则为 2016 年 1 月 1 日、2 日和 3 日,也在第 53 周。2016 年 1 月 4 日是第 1 周。 在 MySQL 中,它输出如
我收到了一些时间戳,其格式如下: 2018-02-26T23:59:49Z 我想将此日期插入到日期时间列中。执行以下语句有效 SELECT DATE_FORMAT('2018-02-26T23:59:
我有一个名为“reportinc”的表,我必须在其中提取从 1 或过去几天的 18:01(时间格式为 %H:%i)到今天 18:00 的项目(它是 VARCHAR 字段)。 我尝试过这个查询 SELE
select d.doctorFName,d.doctorLName ,count(ap.appointmentID) totalap, GROUP_CONCAT(DISTINCT s.speci
我正在尝试关注 my_table,其中修改时间的类型为 datetime select DATE_FORMAT(modifiedtime,'%d-%m-%Y') from my_table where
以下 sql 查询的等效 cakephp find 查询是什么? 假设price_date字段类型为日期时间 $sql = "SELECT id,product_id,date_format("%Y-
我有以下输出 2015-05-06 10:30:00 SELECT DATE_FORMAT( NOW( ) , '%Y-%m-%d' ' 10:30:00' ) 我现在想增加日期,以便输出,2015-
2016年的第一周,实际上是2015年的第53周,被mysql转换成2016年的第53周。如何将其转换为实际周,即 2015 年第 53 周? http://www.epochconverter.co
我将 Doctrine2 与 Laravel5 和 MySql 一起使用,并且在 GROUP_CONCAT()、DATE_FORMAT() 方面遇到一些问题。 我通过安装扩展 Beberlei Doc
我相信我是一个熟练的 mysql 用户,但显然我不是。 我以为 mysql 会在比较之前进行转换,但是这个查询让我感到困惑: SELECT DATE_FORMAT('2019-07-19 12:0
我在Mysql中的代码: 从项目中选择 DATE_FORMAT( 创建 , '%Y'); 如何在 CakePHP 中编码? 最佳答案 这里可以使用func()方法。考虑到您将在 Item 模型中编写查
当我尝试使用 DATE_FORMAT(delv_time, '%Y-%m-%d') 它返回 null。 最佳答案 就 MySQL 而言,这还不是日期。这是一个字符串。您需要使用 STR_TO_DATE
我有一个小的 sql 查询,它获取日期时间列的日期部分 Select DATE_FORMAT(`tbldata`.`fldDate`, '%d/%m/%Y') AS formattedDate fro
尝试将时间 ID 和时间本身带回到存储在 mysql 中的列表框中。在 myadmin 中运行 sql 运行良好,在代码中尝试...不太好。带回 undefined index 错误。谢谢。 cal
我试图按日期升序排列日期和时间表,然后按开始时间升序排列,但我的日期列表显示的顺序不正确。不过,开始时间列表似乎确实有效。 顺序应显示为 18/08/2014 然后 19/08/2014 然后 20/
有人可以解释一下 difference between the %h and %I ?两者都被描述为“小时 (01..12)” 并且与秒 %s 和 %S 相同?这背后有什么“奇怪”的功能吗?复制它的原
我是一名优秀的程序员,十分优秀!