laravel-7 : date_format jalali 日历验证

laravel-7 : date_format jalali calender validation

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

"Y/m/d H:i"

这是我的验证:

$request->validate([
            'deadline' => 'required|date_format:Y/m/d H:i'
        ]);

但问题是我正在使用 Jalali 日历 所以 jalali 的第 6 个月有 31 天。用户输入将是这样的:

1400/06/31

现在验证器将抛出错误,因为格鲁吉亚历法的第 6 个月没有 31 天。

我应该如何验证这个日期?

尝试对 laravel、

的现有验证使用规则
php artisan make:rule [JalaliDateValidation]

如果您正在使用 morilog/jalali 尝试使用 checkdate 函数

// Check jalali date
\Morilog\Jalali\CalendarUtils::checkDate(1391, 2, 30, true); // true

// Check jalali date
\Morilog\Jalali\CalendarUtils::checkDate(2016, 5, 7); // false

// Check gregorian date
\Morilog\Jalali\CalendarUtils::checkDate(2016, 5, 7, false); // true