laravel-7:日期格式jalali日历验证

laravel-7:日期格式jalali日历验证,laravel,datetime,datetime-format,laravel-7,laravel-validation,Laravel,Datetime,Datetime Format,Laravel 7,Laravel Validation,我从用户输入中获取日期时间格式: "Y/m/d H:i" 这是我的验证: $request->validate([ 'deadline' => 'required|date_format:Y/m/d H:i' ]); 但问题是我使用的是贾拉里日历,所以贾拉里的第六个月有31天。用户输入如下: 1400/06/31 现在验证器将抛出一个错误,因为在格鲁吉亚日历的第6个月没有31天 我应该如何验证此日期?尝试使用规则来验证

我从用户输入中获取日期时间格式:

"Y/m/d H:i"
这是我的验证:

$request->validate([
            'deadline' => 'required|date_format:Y/m/d H:i'
        ]);
但问题是我使用的是贾拉里日历,所以贾拉里的第六个月有31天。用户输入如下:

1400/06/31
现在验证器将抛出一个错误,因为在格鲁吉亚日历的第6个月没有31天


我应该如何验证此日期?

尝试使用规则来验证现有的laravel

php工匠制作:规则[JalaliDateValidation]
如果您使用的是checkdate函数,请尝试使用该函数

//检查jalali日期
\Morilog\Jalali\CalendarUtils::checkDate(1391,2,30,true);//真的
//查查jalali日期
\Morilog\Jalali\CalendarUtils::checkDate(2016年5月7日);//假的
//核对公历日期
\Morilog\Jalali\CalendarUtils::checkDate(2016年5月7日,假);//真的

如何将输入日期从用户更改为年、月、日?没有安全问题。非常感谢。当您收到用户的请求时,他/她会发送类似Y/m/d H:i的内容,您可以拆分它的值,然后检查日期,很明显,您只需要验证年、月和日。因此,首先拆分输入,然后使用checkDate函数验证它